Add some test cases for client poll requests

This commit is contained in:
Arlo Breault 2022-03-17 11:23:49 -04:00
parent b563141c6a
commit fa2f6824d9

View file

@ -326,15 +326,44 @@ func TestDecodeClientPollRequest(t *testing.T) {
func TestEncodeClientPollRequests(t *testing.T) { func TestEncodeClientPollRequests(t *testing.T) {
Convey("Context", t, func() { Convey("Context", t, func() {
req1 := &ClientPollRequest{ for i, test := range []struct {
NAT: "unknown", natType string
Offer: "fake", offer string
fingerprint string
err error
}{
{
"unknown",
"fake",
"",
nil,
},
{
"unknown",
"fake",
defaultBridgeFingerprint,
nil,
},
} {
req1 := &ClientPollRequest{
NAT: test.natType,
Offer: test.offer,
Fingerprint: test.fingerprint,
}
b, err := req1.EncodeClientPollRequest()
So(err, ShouldEqual, nil)
req2, err := DecodeClientPollRequest(b)
So(err, ShouldHaveSameTypeAs, test.err)
if test.err == nil {
So(req2.Offer, ShouldEqual, req1.Offer)
So(req2.NAT, ShouldEqual, req1.NAT)
fingerprint := test.fingerprint
if i == 0 {
fingerprint = defaultBridgeFingerprint
}
So(req2.Fingerprint, ShouldEqual, fingerprint)
}
} }
b, err := req1.EncodeClientPollRequest()
So(err, ShouldEqual, nil)
req2, err := DecodeClientPollRequest(b)
So(err, ShouldEqual, nil)
So(req2, ShouldResemble, req1)
}) })
} }