summaryrefslogtreecommitdiff
path: root/internal/packet/packet_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/packet/packet_test.go')
-rw-r--r--internal/packet/packet_test.go108
1 files changed, 0 insertions, 108 deletions
diff --git a/internal/packet/packet_test.go b/internal/packet/packet_test.go
deleted file mode 100644
index a523d59..0000000
--- a/internal/packet/packet_test.go
+++ /dev/null
@@ -1,108 +0,0 @@
-package packet
-
-import (
- "context"
- "io"
- "testing"
- "time"
-
- "github.com/vmihailenco/msgpack/v5"
-)
-
-func TestMsgPackEncoding(t *testing.T) {
- request := EkoMessage{Message: "test"}
- data, err := msgpack.Marshal(&request)
- if err != nil {
- t.Errorf("encoding error: %v", err)
- return
- }
- var response EkoMessage
- err = msgpack.Unmarshal(data, &response)
- if err != nil {
- t.Errorf("decoding error: %v", err)
- return
- }
- if request.Message != response.Message {
- t.Errorf("%v != %v", request.Message, response.Message)
- return
- }
-}
-
-func TestPacketMsgPackEncoding(t *testing.T) {
- request := EkoMessage{Message: "test"}
- encoder1, err := NewMsgPackEncoder(&request)
- encoder2, _ := NewMsgPackEncoder(&request)
- if err != nil {
- t.Errorf("encoding error: %v", err)
- return
- }
- encodedBytes := make([]byte, PACKET_MAX_SIZE)
- n, _ := encoder2.Read(encodedBytes[HEADER_SIZE:])
-
- packet := NewPacket(encoder1)
- var response EkoMessage
- err = packet.DecodePayload(&response)
- if err != nil {
- t.Errorf("decoding error: %#v: packet: %v encoder: %v", err, packet.Payload(), encodedBytes[HEADER_SIZE:HEADER_SIZE+n])
- return
- }
- if request.Message != response.Message {
- t.Errorf("%v != %v", request.Message, response.Message)
- return
- }
-}
-
-type TestIoReader struct {
- data []byte
- len int
-}
-
-func (r *TestIoReader) Read(data []byte) (int, error) {
- if len(r.data) <= r.len {
- // log.Println("RETURNING EOF:", len(data), r.len)
- return 0, io.EOF
- }
- n := copy(data, r.data[r.len:])
- r.len += n
- // log.Println("RETURNING N:", len(r.data), r.len)
- return n, nil
-}
-
-func (r *TestIoReader) start(msg TypedMessage, t *testing.T) {
- encoder, err := NewMsgPackEncoder(msg)
- if err != nil {
- t.Errorf("encoding error: %v", err)
- return
- }
- r.data = NewPacket(encoder).data
- // log.Println("LEN:", len(r.data))
-}
-
-func TestPacketFramer(t *testing.T) {
- reader := &TestIoReader{}
-
- // Long msg to test multiple
- msg := EkoMessage{"Testing FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting FramerTesting Framer"}
- reader.start(&msg, t)
-
- ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
- defer cancel()
- out, outErr := RunFramer(ctx, reader)
-
- var message EkoMessage
- select {
- case packet := <-out:
- if err := packet.DecodePayload(&message); err != nil {
- t.Errorf("error decoding response: %v", err)
- return
- }
- if msg.Message != message.Message {
- t.Errorf("%v != %v", msg.Message, message.Message)
- return
- }
-
- case err := <-outErr:
- t.Errorf("error receiving packet: %v", err)
- return
- }
-}