mirror of
https://github.com/hanzozt/zt.git
synced 2026-11-03 05:01:58 +00:00
73 lines
1.2 KiB
Go
73 lines
1.2 KiB
Go
package loop3
|
|
|
|
import (
|
|
"bytes"
|
|
"crypto/rand"
|
|
"crypto/sha512"
|
|
"github.com/google/go-cmp/cmp"
|
|
loop3_pb "github.com/openziti/ziti/zititest/ziti-fabric-test/subcmd/loop3/pb"
|
|
"github.com/stretchr/testify/require"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
type testPeer struct {
|
|
bytes.Buffer
|
|
}
|
|
|
|
func (t *testPeer) Close() error {
|
|
return nil
|
|
}
|
|
|
|
func Test_MessageSerDeser(t *testing.T) {
|
|
req := require.New(t)
|
|
data := make([]byte, 4192)
|
|
_, err := rand.Read(data)
|
|
req.NoError(err)
|
|
|
|
hash := sha512.Sum512(data)
|
|
|
|
block := &RandHashedBlock{
|
|
Type: BlockTypePlain,
|
|
Sequence: 10,
|
|
Hash: hash[:],
|
|
Data: data,
|
|
}
|
|
|
|
testBuf := &testPeer{}
|
|
|
|
p := &protocol{
|
|
peer: testBuf,
|
|
test: &loop3_pb.Test{
|
|
Name: "test",
|
|
},
|
|
}
|
|
|
|
req.NoError(block.Tx(p))
|
|
|
|
readBlock := &RandHashedBlock{}
|
|
req.NoError(readBlock.Rx(p))
|
|
|
|
req.True(reflect.DeepEqual(block, readBlock), cmp.Diff(block, readBlock))
|
|
|
|
data = make([]byte, 4192)
|
|
_, err = rand.Read(data)
|
|
req.NoError(err)
|
|
|
|
hash = sha512.Sum512(data)
|
|
|
|
block = &RandHashedBlock{
|
|
Type: BlockTypeLatencyRequest,
|
|
Sequence: 10,
|
|
Hash: hash[:],
|
|
Data: data,
|
|
}
|
|
|
|
req.NoError(block.Tx(p))
|
|
|
|
readBlock = &RandHashedBlock{}
|
|
req.NoError(readBlock.Rx(p))
|
|
|
|
req.Equal("", cmp.Diff(block, readBlock))
|
|
}
|