From bf3fde257eb44cc775b5b6bf77dd0566621e5c9a Mon Sep 17 00:00:00 2001 From: joshemb <josh@elixxir.io> Date: Mon, 24 Oct 2022 13:19:33 -0700 Subject: [PATCH] Add tests for encryption salt --- storage/utility/encryptionSalt_test.go | 49 ++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 storage/utility/encryptionSalt_test.go diff --git a/storage/utility/encryptionSalt_test.go b/storage/utility/encryptionSalt_test.go new file mode 100644 index 000000000..f041b9ded --- /dev/null +++ b/storage/utility/encryptionSalt_test.go @@ -0,0 +1,49 @@ +package utility + +import ( + "bytes" + "gitlab.com/elixxir/client/storage/versioned" + "gitlab.com/elixxir/ekv" + "gitlab.com/xx_network/crypto/csprng" + "testing" +) + +// Smoke test +func TestNewOrLoadSalt(t *testing.T) { + kv := ekv.MakeMemstore() + vkv := versioned.NewKV(kv) + + rng := csprng.NewSystemRNG() + + _, err := NewOrLoadSalt(vkv, rng) + if err != nil { + t.Fatalf("NewOrLoadSalt error: %+v", err) + } + +} + +// Test that calling NewOrLoadSalt twice returns the same +// salt that exists in storage. +func TestLoadSalt(t *testing.T) { + + kv := ekv.MakeMemstore() + vkv := versioned.NewKV(kv) + + rng := csprng.NewSystemRNG() + + original, err := NewOrLoadSalt(vkv, rng) + if err != nil { + t.Fatalf("NewOrLoadSalt error: %+v", err) + } + + loaded, err := NewOrLoadSalt(vkv, rng) + if err != nil { + t.Fatalf("NewOrLoadSalt error: %+v", err) + } + + // Test that loaded matches the original (ie a new one was not generated) + if !bytes.Equal(original, loaded) { + t.Fatalf("Failed to load salt.") + } + +} -- GitLab