mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-03 23:20:25 +08:00
54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
|
|
|
|
package bfs_test
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/TeaOSLab/EdgeNode/internal/utils/bfs"
|
|
"github.com/iwind/TeaGo/assert"
|
|
)
|
|
|
|
func TestMetaBlock(t *testing.T) {
|
|
var a = assert.NewAssertion(t)
|
|
|
|
{
|
|
var srcHash = bfs.Hash("a")
|
|
b, err := bfs.EncodeMetaBlock(bfs.MetaActionNew, srcHash, []byte{1, 2, 3})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(b)
|
|
|
|
{
|
|
action, hash, data, decodeErr := bfs.DecodeMetaBlock(b)
|
|
if decodeErr != nil {
|
|
t.Fatal(err)
|
|
}
|
|
a.IsTrue(action == bfs.MetaActionNew)
|
|
a.IsTrue(hash == srcHash)
|
|
a.IsTrue(bytes.Equal(data, []byte{1, 2, 3}))
|
|
}
|
|
}
|
|
|
|
{
|
|
var srcHash = bfs.Hash("bcd")
|
|
|
|
b, err := bfs.EncodeMetaBlock(bfs.MetaActionRemove, srcHash, []byte{1, 2, 3})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(b)
|
|
{
|
|
action, hash, data, decodeErr := bfs.DecodeMetaBlock(b)
|
|
if decodeErr != nil {
|
|
t.Fatal(err)
|
|
}
|
|
a.IsTrue(action == bfs.MetaActionRemove)
|
|
a.IsTrue(hash == srcHash)
|
|
a.IsTrue(len(data) == 0)
|
|
}
|
|
}
|
|
}
|