Skip to content
Snippets Groups Projects
Commit be60fb90 authored by Niamh Nikali's avatar Niamh Nikali
Browse files

Move timestamp to time.Time

parent 8e4adcd3
No related branches found
No related tags found
No related merge requests found
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
package storage package storage
import ( import (
...@@ -30,20 +36,14 @@ func (s *Session) GetContact(name string) (*Contact, error) { ...@@ -30,20 +36,14 @@ func (s *Session) GetContact(name string) (*Contact, error) {
} }
func (s *Session) SetContact(name string, record *Contact) error { func (s *Session) SetContact(name string, record *Contact) error {
now, err := time.Now().MarshalText()
if err != nil {
return err
}
key := MakeKeyPrefix("Contact", currentContactVersion) + name key := MakeKeyPrefix("Contact", currentContactVersion) + name
var data []byte data, err := json.Marshal(record)
data, err = json.Marshal(record)
if err != nil { if err != nil {
return err return err
} }
obj := VersionedObject{ obj := VersionedObject{
Version: currentContactVersion, Version: currentContactVersion,
Timestamp: now, Timestamp: time.Now(),
Data: data, Data: data,
} }
return s.Set(key, &obj) return s.Set(key, &obj)
......
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
package storage package storage
import ( import (
......
...@@ -52,12 +52,8 @@ func (s *Session) GetLastMessageId() (string, error) { ...@@ -52,12 +52,8 @@ func (s *Session) GetLastMessageId() (string, error) {
// Set the LastMessageID in the Session // Set the LastMessageID in the Session
func (s *Session) SetLastMessageId(id string) error { func (s *Session) SetLastMessageId(id string) error {
ts, err := time.Now().MarshalText()
if err != nil {
return err
}
vo := &VersionedObject{ vo := &VersionedObject{
Timestamp: ts, Timestamp: time.Now(),
Data: []byte(id), Data: []byte(id),
} }
return s.kv.Set("LastMessageID", vo) return s.kv.Set("LastMessageID", vo)
......
...@@ -25,13 +25,9 @@ func TestSession_Smoke(t *testing.T) { ...@@ -25,13 +25,9 @@ func TestSession_Smoke(t *testing.T) {
t.Errorf("failed to init: %+v", err) t.Errorf("failed to init: %+v", err)
} }
ts, err := time.Now().MarshalText()
if err != nil {
t.Errorf("Failed to martial time for object")
}
err = s.Set("testkey", &VersionedObject{ err = s.Set("testkey", &VersionedObject{
Version: 0, Version: 0,
Timestamp: ts, Timestamp: time.Now(),
Data: []byte("test"), Data: []byte("test"),
}) })
if err != nil { if err != nil {
......
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
package storage package storage
import ( import (
...@@ -6,6 +12,7 @@ import ( ...@@ -6,6 +12,7 @@ import (
"gitlab.com/elixxir/ekv" "gitlab.com/elixxir/ekv"
"strconv" "strconv"
"strings" "strings"
"time"
) )
// MakeKeyPrefix provides a helper with a data type and a version // MakeKeyPrefix provides a helper with a data type and a version
...@@ -24,9 +31,8 @@ type VersionedObject struct { ...@@ -24,9 +31,8 @@ type VersionedObject struct {
// Used to determine version upgrade, if any // Used to determine version upgrade, if any
Version uint64 Version uint64
// Marshal to/from time.Time using Time.MarshalText and // Set when this object is written
// Time.UnmarshalText Timestamp time.Time
Timestamp []byte
// Serialized version of original object // Serialized version of original object
Data []byte Data []byte
......
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
package storage package storage
import ( import (
...@@ -10,22 +16,16 @@ import ( ...@@ -10,22 +16,16 @@ import (
// Shows that all fields can be serialized/deserialized correctly using json // Shows that all fields can be serialized/deserialized correctly using json
func TestVersionedObject_MarshalUnmarshal(t *testing.T) { func TestVersionedObject_MarshalUnmarshal(t *testing.T) {
sometime, err := time.Date(1, 2, 3, 4, 5, 6, 7, time.UTC).MarshalText()
if err != nil {
// Should never happen
t.Fatal(err)
}
original := VersionedObject{ original := VersionedObject{
Version: 8, Version: 8,
Timestamp: sometime, Timestamp: time.Date(1, 2, 3, 4, 5, 6, 7, time.UTC),
Data: []byte("original text"), Data: []byte("original text"),
} }
marshalled := original.Marshal() marshalled := original.Marshal()
unmarshalled := VersionedObject{} unmarshalled := VersionedObject{}
err = unmarshalled.Unmarshal(marshalled) err := unmarshalled.Unmarshal(marshalled)
if err != nil { if err != nil {
// Should never happen // Should never happen
t.Fatal(err) t.Fatal(err)
...@@ -57,21 +57,12 @@ func TestVersionedKV_Get_Upgrade(t *testing.T) { ...@@ -57,21 +57,12 @@ func TestVersionedKV_Get_Upgrade(t *testing.T) {
kv := make(ekv.Memstore) kv := make(ekv.Memstore)
vkv := NewVersionedKV(kv) vkv := NewVersionedKV(kv)
key := MakeKeyPrefix("test", 0) + "12345" key := MakeKeyPrefix("test", 0) + "12345"
now := time.Now()
nowText, err := now.MarshalText()
if err != nil {
//Should never happen
t.Fatal(err)
}
original := VersionedObject{ original := VersionedObject{
Version: 0, Version: 0,
Timestamp: nowText, Timestamp: time.Now(),
Data: []byte("not upgraded"), Data: []byte("not upgraded"),
} }
originalSerialized := original.Marshal() originalSerialized := original.Marshal()
if err != nil {
t.Fatal(err)
}
kv[key] = originalSerialized kv[key] = originalSerialized
result, err := vkv.Get(key) result, err := vkv.Get(key)
...@@ -90,21 +81,12 @@ func TestVersionedKV_Get(t *testing.T) { ...@@ -90,21 +81,12 @@ func TestVersionedKV_Get(t *testing.T) {
vkv := NewVersionedKV(kv) vkv := NewVersionedKV(kv)
originalVersion := uint64(1) originalVersion := uint64(1)
key := MakeKeyPrefix("test", originalVersion) + "12345" key := MakeKeyPrefix("test", originalVersion) + "12345"
now := time.Now()
nowText, err := now.MarshalText()
if err != nil {
//Should never happen
t.Fatal(err)
}
original := VersionedObject{ original := VersionedObject{
Version: originalVersion, Version: originalVersion,
Timestamp: nowText, Timestamp: time.Now(),
Data: []byte("not upgraded"), Data: []byte("not upgraded"),
} }
originalSerialized := original.Marshal() originalSerialized := original.Marshal()
if err != nil {
t.Fatal(err)
}
kv[key] = originalSerialized kv[key] = originalSerialized
result, err := vkv.Get(key) result, err := vkv.Get(key)
...@@ -122,18 +104,12 @@ func TestVersionedKV_Set(t *testing.T) { ...@@ -122,18 +104,12 @@ func TestVersionedKV_Set(t *testing.T) {
vkv := NewVersionedKV(kv) vkv := NewVersionedKV(kv)
originalVersion := uint64(1) originalVersion := uint64(1)
key := MakeKeyPrefix("test", originalVersion) + "12345" key := MakeKeyPrefix("test", originalVersion) + "12345"
now := time.Now()
nowText, err := now.MarshalText()
if err != nil {
//Should never happen
t.Fatal(err)
}
original := VersionedObject{ original := VersionedObject{
Version: originalVersion, Version: originalVersion,
Timestamp: nowText, Timestamp: time.Now(),
Data: []byte("not upgraded"), Data: []byte("not upgraded"),
} }
err = vkv.Set(key, &original) err := vkv.Set(key, &original)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment