elbot/sending_test.go
Mihai Moldovanu 74f66ffce2
All checks were successful
continuous-integration/drone/push Build is passing
refactor sendPingReply and added first unit test for login
2022-03-23 03:22:18 +02:00

44 lines
896 B
Go

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)
}
})
}
}