Skip to content
Snippets Groups Projects
Commit bf3fde25 authored by Josh Brooks's avatar Josh Brooks
Browse files

Add tests for encryption salt

parent 4f535c81
No related branches found
No related tags found
3 merge requests!510Release,!422Add cipher bindings,!340Project/channels
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.")
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment