From 929d2b942fa5a9a45f9f9f48f262863c9ece75dc Mon Sep 17 00:00:00 2001 From: Pablu23 Date: Wed, 6 Dec 2023 18:15:23 +0100 Subject: [PATCH] 62% Packets test coverage --- internal/common/packets_test.go | 168 +++++++++++++++++++++++++++++++- 1 file changed, 166 insertions(+), 2 deletions(-) diff --git a/internal/common/packets_test.go b/internal/common/packets_test.go index 82a5776..150fcdf 100644 --- a/internal/common/packets_test.go +++ b/internal/common/packets_test.go @@ -11,7 +11,7 @@ func TestPacketFromBytes(t *testing.T) { data := []byte{1, 0, 1} dataLength := len(data) - want := Packet{ + expect := Packet{ Flag: Request, Sync: 0, Data: data, @@ -23,7 +23,171 @@ func TestPacketFromBytes(t *testing.T) { pck := PacketFromBytes(bytes, uint32(dataLength), sid) - if !cmp.Equal(pck, want) { + if !cmp.Equal(pck, expect) { + t.Fail() + } +} + +func TestPacketToBytes(t *testing.T) { + p := Packet{ + Flag: Request, + Sync: 0, + Data: []byte{101, 10, 1}, + Sid: [8]byte{255, 255, 255, 255, 255, 255, 255, 255}, + DataLength: 3, + } + + expect := []byte{0, 0, 0, 0, 0, 101, 10, 1} + + bytes := p.ToBytes() + + if !cmp.Equal(bytes, expect) { + t.Fail() + } +} + +func TestSymetricSecurePacket(t *testing.T) { + expect := Packet{ + Flag: Request, + Sync: 0, + Data: []byte{101, 10, 1}, + Sid: [8]byte{255, 255, 255, 255, 255, 255, 255, 255}, + DataLength: 3, + } + + key := [32]byte{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} + + secPck := NewSymetricSecurePacket(key, &expect) + + packet, err := secPck.ExtractPacket(key) + if err != nil { + t.Fail() + } + + if !cmp.Equal(packet, expect) { + t.Fail() + } +} + +func TestSecurePacketFromBytes(t *testing.T) { + bytes := []byte{ + //IsRsa + 0, + // Nonce + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + // Sid + 255, 255, 255, 255, 255, 255, 255, 255, + // Length + 3, 0, 0, 0, + // Data + 101, 10, 1, + } + + secPck := SecurePacketFromBytes(bytes) + + expect := SecurePacket{ + IsRsa: 0, + Nonce: [24]byte{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, + Sid: [8]byte{255, 255, 255, 255, 255, 255, 255, 255}, + DataLength: 3, + EncryptedData: []byte{101, 10, 1}, + } + + if !cmp.Equal(secPck, expect) { + t.Fail() + } +} + +func TestSecurePacketToBytes(t *testing.T) { + expect := []byte{ + //IsRsa + 0, + // Nonce + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + // Sid + 255, 255, 255, 255, 255, 255, 255, 255, + // Length + 3, 0, 0, 0, + // Data + 101, 10, 1, + } + + secPck := SecurePacket{ + IsRsa: 0, + Nonce: [24]byte{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, + Sid: [8]byte{255, 255, 255, 255, 255, 255, 255, 255}, + DataLength: 3, + EncryptedData: []byte{101, 10, 1}, + } + + bytes := secPck.ToBytes() + + if !cmp.Equal(bytes, expect) { + t.Fail() + } +} + +func TestGetUint32Payload_Positive(t *testing.T) { + pck := Packet{ + Flag: Ack, + Data: []byte{40, 0, 0, 0}, + DataLength: 4, + } + + var expect uint32 = 40 + + payload, err := pck.GetUint32Payload() + if err != nil { + t.Fail() + } + + if payload != expect { + t.Fail() + } +} + +func TestGetUint32Payload_Negative(t *testing.T) { + pck := Packet{ + Flag: Request, + Data: []byte{40, 0, 0, 0}, + DataLength: 4, + } + + _, err := pck.GetUint32Payload() + if err == nil { + t.Fail() + } +} + +func TestGetFilePath_Positive(t *testing.T) { + expect := "Hello World!" + b := []byte(expect) + + pck := Packet{ + Flag: Request, + Data: b, + DataLength: uint32(len(b)), + } + + payload, err := pck.GetFilePath() + if err != nil { + t.Fail() + } + + if payload != expect { + t.Fail() + } +} + +func TestGetFilePath_Negative(t *testing.T) { + pck := Packet{ + Flag: Ack, + Data: []byte{40, 0, 0, 0}, + DataLength: 4, + } + + _, err := pck.GetFilePath() + if err == nil { t.Fail() } }