aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArlo Breault <arlolra@gmail.com>2022-03-17 11:23:49 -0400
committerArlo Breault <arlolra@gmail.com>2022-03-21 15:31:02 -0400
commitfa2f6824d924f3317c82bc740130f354f6a1780c (patch)
tree5748593e22b7f77501b187ff077b422c0f346433
parentb563141c6abba128386bc1ad18122d5e13e09789 (diff)
downloadsnowflake-fa2f6824d924f3317c82bc740130f354f6a1780c.tar.gz
snowflake-fa2f6824d924f3317c82bc740130f354f6a1780c.zip
Add some test cases for client poll requests
-rw-r--r--common/messages/messages_test.go45
1 files changed, 37 insertions, 8 deletions
diff --git a/common/messages/messages_test.go b/common/messages/messages_test.go
index ae0d4f9..5365aa8 100644
--- a/common/messages/messages_test.go
+++ b/common/messages/messages_test.go
@@ -326,15 +326,44 @@ func TestDecodeClientPollRequest(t *testing.T) {
func TestEncodeClientPollRequests(t *testing.T) {
Convey("Context", t, func() {
- req1 := &ClientPollRequest{
- NAT: "unknown",
- Offer: "fake",
+ for i, test := range []struct {
+ natType string
+ 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)
})
}