From ef07715acea568dfe8f5daaca2531f514bde3e2b Mon Sep 17 00:00:00 2001 From: joshemb <josh@elixxir.io> Date: Wed, 24 Aug 2022 09:24:42 -0700 Subject: [PATCH] Fix tests --- e2e/parse/partition/store_test.go | 44 ++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/e2e/parse/partition/store_test.go b/e2e/parse/partition/store_test.go index 909de9b82..29526a2b8 100644 --- a/e2e/parse/partition/store_test.go +++ b/e2e/parse/partition/store_test.go @@ -11,6 +11,7 @@ import ( "bytes" "gitlab.com/elixxir/client/catalog" "gitlab.com/elixxir/client/storage/versioned" + "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/netTime" @@ -39,15 +40,27 @@ func TestNewOrLoad(t *testing.T) { func TestStore_AddFirst(t *testing.T) { part := []byte("Test message.") s := NewOrLoad(versioned.NewKV(ekv.MakeMemstore())) + b := make([]byte, e2e.KeyResidueLength) + kr, err := e2e.UnmarshalKeyResidue(b) + if err != nil { + t.Fatalf("Failed to unmarshal key residue: %+v", err) + } - msg, complete := s.AddFirst(id.NewIdFromString("User", id.User, t), + msg, receivedKr, complete := s.AddFirst(id.NewIdFromString("User", id.User, t), catalog.XxMessage, 5, 0, 1, netTime.Now(), netTime.Now(), part, - []byte{0}) + []byte{0}, kr) if !complete { t.Errorf("AddFirst returned that the message was not complete.") } + if !bytes.Equal(receivedKr[:], kr[:]) { + t.Fatalf("Key residue returned from complete partition did not "+ + "match first key signature."+ + "\nExpected: %v"+ + "\nReceived: %v", kr, receivedKr) + } + if !bytes.Equal(part, msg.Payload) { t.Errorf("AddFirst returned message with invalid payload."+ "\nexpected: %v\nreceived: %v", part, msg.Payload) @@ -59,21 +72,33 @@ func TestStore_Add(t *testing.T) { part1 := []byte("Test message.") part2 := []byte("Second Sentence.") s := NewOrLoad(versioned.NewKV(ekv.MakeMemstore())) + b := make([]byte, e2e.KeyResidueLength) + kr, err := e2e.UnmarshalKeyResidue(b) + if err != nil { + t.Fatalf("Failed to unmarshal key residue: %+v", err) + } - msg, complete := s.AddFirst(id.NewIdFromString("User", id.User, t), + msg, _, complete := s.AddFirst(id.NewIdFromString("User", id.User, t), catalog.XxMessage, 5, 0, 2, netTime.Now(), netTime.Now(), part1, - []byte{0}) + []byte{0}, kr) if complete { t.Errorf("AddFirst returned that the message was complete.") } - msg, complete = s.Add(id.NewIdFromString("User", id.User, t), + msg, receivedKr, complete := s.Add(id.NewIdFromString("User", id.User, t), 5, 1, part2, []byte{0}) if !complete { t.Errorf("AddFirst returned that the message was not complete.") } + if !bytes.Equal(receivedKr[:], kr[:]) { + t.Fatalf("Key residue returned from complete partition did not "+ + "match first key signature."+ + "\nExpected: %v"+ + "\nReceived: %v", kr, receivedKr) + } + part := append(part1, part2...) if !bytes.Equal(part, msg.Payload) { t.Errorf("AddFirst returned message with invalid payload."+ @@ -92,10 +117,15 @@ func TestStore_prune(t *testing.T) { partner1 := id.NewIdFromString("User", id.User, t) messageId1 := uint64(5) oldTimestamp := netTime.Now().Add(-2 * clearPartitionThreshold) + b := make([]byte, e2e.KeyResidueLength) + kr, err := e2e.UnmarshalKeyResidue(b) + if err != nil { + t.Fatalf("Failed to unmarshal key residue: %+v", err) + } s.AddFirst(partner1, catalog.XxMessage, messageId1, 0, 2, netTime.Now(), oldTimestamp, part1, - []byte{0}) + []byte{0}, kr) s.Add(partner1, messageId1, 1, part2, []byte{0}) partner2 := id.NewIdFromString("User1", id.User, t) @@ -103,7 +133,7 @@ func TestStore_prune(t *testing.T) { newTimestamp := netTime.Now() s.AddFirst(partner2, catalog.XxMessage, messageId2, 0, 2, netTime.Now(), newTimestamp, part1, - []byte{0}) + []byte{0}, kr) // Call clear messages s.prune() -- GitLab