rdpgw/protocol/handler_test.go
2020-07-28 08:59:19 +02:00

44 lines
1.1 KiB
Go

package protocol
import (
"log"
"testing"
)
const (
HeaderLen = 8
HandshakeRequestLen = HeaderLen + 6
)
func TestHandshake(t *testing.T) {
client := ClientConfig{
PAAToken: "abab",
}
data := client.handshakeRequest()
pt, size, pkt, err := readHeader(data)
if pt != PKT_TYPE_HANDSHAKE_REQUEST {
t.Fatalf("readHeader failed, expected packet type %d got %d", PKT_TYPE_HANDSHAKE_REQUEST, pt)
}
if size != HandshakeRequestLen {
t.Fatalf("readHeader failed, expected size %d, got %d", HandshakeRequestLen, size)
}
if err != nil {
t.Fatalf("readHeader failed got error %s", err)
}
log.Printf("pkt: %x", pkt)
major, minor, version, extAuth := readHandshake(pkt)
if major != MajorVersion || minor != MinorVersion || version != Version {
t.Fatalf("readHandshake failed got version %d.%d protocol %d, expected %d.%d protocol %d",
major, minor, version, MajorVersion, MinorVersion, Version)
}
if !((extAuth & HTTP_EXTENDED_AUTH_PAA) == HTTP_EXTENDED_AUTH_PAA) {
t.Fatalf("readHandshake failed got ext auth %d, expected %d", extAuth, extAuth | HTTP_EXTENDED_AUTH_PAA)
}
}