Fix Marshaling of TipSetKey
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
parent
c20aaf3856
commit
9f3b5bfb6e
@ -77,7 +77,7 @@ func (k TipSetKey) Bytes() []byte {
|
|||||||
return []byte(k.value)
|
return []byte(k.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (k *TipSetKey) MarshalJSON() ([]byte, error) {
|
func (k TipSetKey) MarshalJSON() ([]byte, error) {
|
||||||
return json.Marshal(k.Cids())
|
return json.Marshal(k.Cids())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package types
|
package types
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
@ -11,7 +12,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestTipSetKey(t *testing.T) {
|
func TestTipSetKey(t *testing.T) {
|
||||||
cb := cid.V1Builder{Codec: cid.DagCBOR, MhType: multihash.BLAKE2B_MIN+31}
|
cb := cid.V1Builder{Codec: cid.DagCBOR, MhType: multihash.BLAKE2B_MIN + 31}
|
||||||
c1, _ := cb.Sum([]byte("a"))
|
c1, _ := cb.Sum([]byte("a"))
|
||||||
c2, _ := cb.Sum([]byte("b"))
|
c2, _ := cb.Sum([]byte("b"))
|
||||||
c3, _ := cb.Sum([]byte("c"))
|
c3, _ := cb.Sum([]byte("c"))
|
||||||
@ -42,7 +43,7 @@ func TestTipSetKey(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("encoding", func(t *testing.T) {
|
t.Run("encoding", func(t *testing.T) {
|
||||||
keys := []TipSetKey {
|
keys := []TipSetKey{
|
||||||
NewTipSetKey(),
|
NewTipSetKey(),
|
||||||
NewTipSetKey(c1),
|
NewTipSetKey(c1),
|
||||||
NewTipSetKey(c1, c2, c3),
|
NewTipSetKey(c1, c2, c3),
|
||||||
@ -62,21 +63,21 @@ func TestTipSetKey(t *testing.T) {
|
|||||||
k0 := NewTipSetKey()
|
k0 := NewTipSetKey()
|
||||||
verifyJson(t, "[]", k0)
|
verifyJson(t, "[]", k0)
|
||||||
k3 := NewTipSetKey(c1, c2, c3)
|
k3 := NewTipSetKey(c1, c2, c3)
|
||||||
verifyJson(t, `[` +
|
verifyJson(t, `[`+
|
||||||
`{"/":"bafy2bzacecesrkxghscnq7vatble2hqdvwat6ed23vdu4vvo3uuggsoaya7ki"},` +
|
`{"/":"bafy2bzacecesrkxghscnq7vatble2hqdvwat6ed23vdu4vvo3uuggsoaya7ki"},`+
|
||||||
`{"/":"bafy2bzacebxfyh2fzoxrt6kcgc5dkaodpcstgwxxdizrww225vrhsizsfcg4g"},` +
|
`{"/":"bafy2bzacebxfyh2fzoxrt6kcgc5dkaodpcstgwxxdizrww225vrhsizsfcg4g"},`+
|
||||||
`{"/":"bafy2bzacedwviarjtjraqakob5pslltmuo5n3xev3nt5zylezofkbbv5jclyu"}` +
|
`{"/":"bafy2bzacedwviarjtjraqakob5pslltmuo5n3xev3nt5zylezofkbbv5jclyu"}`+
|
||||||
`]`, k3)
|
`]`, k3)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func verifyJson(t *testing.T, expected string, k TipSetKey) {
|
func verifyJson(t *testing.T, expected string, k TipSetKey) {
|
||||||
bytes, err := k.MarshalJSON()
|
bytes, err := json.Marshal(k)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, expected, string(bytes))
|
assert.Equal(t, expected, string(bytes))
|
||||||
|
|
||||||
var rehydrated TipSetKey
|
var rehydrated TipSetKey
|
||||||
err = rehydrated.UnmarshalJSON(bytes)
|
err = json.Unmarshal(bytes, &rehydrated)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, k, rehydrated)
|
assert.Equal(t, k, rehydrated)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user