22
"github.com/stretchr/testify/require"
24
"github.com/cubefs/cubefs/blobstore/common/proto"
25
"github.com/cubefs/cubefs/blobstore/util/log"
28
func TestIsValidChunkId(t *testing.T) {
30
require.Equal(t, false, IsValidChunkId(id))
33
require.Equal(t, true, IsValidChunkId(id))
36
func TestChunkIdNew(t *testing.T) {
37
chunkid := NewChunkId(101)
38
require.Equal(t, ChunkIdLength, len(chunkid))
39
require.NotEqual(t, InvalidChunkId, chunkid)
41
expectedVuid := chunkid.VolumeUnitId()
42
require.Equal(t, expectedVuid, proto.Vuid(101))
44
chunkname := chunkid.String()
45
require.Equal(t, ChunkIdEncodeLen, len(chunkname))
47
arrs := strings.Split(chunkname, string(delimiter))
48
require.Equal(t, 2, len(arrs))
49
require.Equal(t, "0000000000000065", arrs[0])
52
func TestChunkId_Marshal(t *testing.T) {
53
chunkid := NewChunkId(101)
55
data, err := chunkid.Marshal()
56
require.NoError(t, err)
57
require.Equal(t, ChunkIdEncodeLen, len(data))
58
log.Infof("data:%s", data)
61
err = newchunk.Unmarshal(data)
62
require.NoError(t, err)
63
require.Equal(t, chunkid, newchunk)
66
func TestChunkId_MarshalJSON(t *testing.T) {
67
chunkid := NewChunkId(101)
69
data, err := json.Marshal(chunkid)
70
require.NoError(t, err)
71
require.Equal(t, ChunkIdEncodeLen+2, len(data))
73
log.Infof("data:%s", data)
76
err = json.Unmarshal(data, &newchunk)
77
require.NoError(t, err)
78
require.Equal(t, chunkid, newchunk)