mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-02 03:28:25 +08:00
test: add memkeystore test
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
This commit is contained in:
82
keystore/memkeystore_test.go
Normal file
82
keystore/memkeystore_test.go
Normal file
@ -0,0 +1,82 @@
|
||||
package keystore
|
||||
|
||||
import (
|
||||
"sort"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMemKeyStoreBasics(t *testing.T) {
|
||||
ks := NewMemKeystore()
|
||||
|
||||
l, err := ks.List()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if len(l) != 0 {
|
||||
t.Fatal("expected no keys")
|
||||
}
|
||||
|
||||
k1 := privKeyOrFatal(t)
|
||||
k2 := privKeyOrFatal(t)
|
||||
k3 := privKeyOrFatal(t)
|
||||
k4 := privKeyOrFatal(t)
|
||||
|
||||
err = ks.Put("foo", k1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = ks.Put("bar", k2)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
l, err = ks.List()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
sort.Strings(l)
|
||||
if l[0] != "bar" || l[1] != "foo" {
|
||||
t.Fatal("wrong entries listed")
|
||||
}
|
||||
|
||||
err = ks.Put("foo", k3)
|
||||
if err == nil {
|
||||
t.Fatal("should not be able to overwrite key")
|
||||
}
|
||||
if err := ks.Delete("bar"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := ks.Put("beep", k3); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := ks.Put("boop", k4); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := assertGetKey(ks, "foo", k1); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := assertGetKey(ks, "beep", k3); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := assertGetKey(ks, "boop", k4); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := ks.Put("..///foo/", k1); err == nil {
|
||||
t.Fatal("shouldnt be able to put a poorly named key")
|
||||
}
|
||||
|
||||
if err := ks.Put("", k1); err == nil {
|
||||
t.Fatal("shouldnt be able to put a key with no name")
|
||||
}
|
||||
|
||||
if err := ks.Put(".foo", k1); err == nil {
|
||||
t.Fatal("shouldnt be able to put a key with a 'hidden' name")
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user