refactor sendPingReply and added first unit test for login
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Mihai Moldovanu 2022-03-23 03:22:18 +02:00
parent e0015b6d73
commit 74f66ffce2

43
sending_test.go Normal file
View File

@ -0,0 +1,43 @@
package main
import (
"net"
"testing"
)
// Test scafolding
func TestSendLogin(t *testing.T) {
testTable := []struct {
name string
pass string
resultBuffer []byte
resultLenght int
// input, output
}{
{
name: "happy",
pass: "happy2",
resultBuffer: []byte{140, 15, 0, 104, 97, 112, 112, 121, 32, 104, 97, 112, 112, 121, 50, 0, 0},
resultLenght: 17,
},
}
for _, tt := range testTable {
t.Run(tt.name, func(t *testing.T) {
// call function or method under test
// ....
// check respose
server, client := net.Pipe()
go func() {
sendLogin(client, tt.name, tt.pass)
}()
reply := make([]byte, 4096)
length, _ := server.Read(reply)
if length != tt.resultLenght {
t.Errorf("Expected length %v, got %v buffer: %v for %s / %s", tt.resultLenght, length, reply[0:length], tt.name, tt.pass)
}
})
}
}