package kept import ( "errors" "git.novox.be/novox/mesh-sdk/go/keys" "strings" "testing" ) func TestAKeptValueIsReadOnlyAtItsVersionAndAKeyPartOnlyOfKeyCharacters(t *testing.T) { var v struct{ V int } for data, ok := range map[string]bool{`{"v":1}`: true, `{"v":2}`: false, `{}`: false} { err := Decode([]byte(data), &v) if (err == nil) != ok || (!ok && !errors.Is(err, keys.ErrUnknownVersion)) { t.Errorf("Decode(%s) = %v", data, err) } } if Decode([]byte(`nope`), &v) == nil { t.Error("a value that is no JSON is read") } if CheckDigest("sha256:"+strings.Repeat("0", 64), "x") != nil || CheckDigest("sha256:0", "x") == nil { t.Error("CheckDigest reads a wrong form") } }