aboutsummaryrefslogtreecommitdiff
path: root/hotline/tracker_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'hotline/tracker_test.go')
-rw-r--r--hotline/tracker_test.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/hotline/tracker_test.go b/hotline/tracker_test.go
new file mode 100644
index 0000000..b904462
--- /dev/null
+++ b/hotline/tracker_test.go
@@ -0,0 +1,57 @@
+package hotline
+
+import (
+ "reflect"
+ "testing"
+)
+
+func TestTrackerRegistration_Payload(t *testing.T) {
+ type fields struct {
+ Port []byte
+ UserCount int
+ PassID []byte
+ Name string
+ Description string
+ }
+ tests := []struct {
+ name string
+ fields fields
+ want []byte
+ }{
+ {
+ name: "returns expected payload bytes",
+ fields: fields{
+ Port: []byte{0x00, 0x10},
+ UserCount: 2,
+ PassID: []byte{0x00, 0x00, 0x00, 0x01},
+ Name: "Test Serv",
+ Description: "Fooz",
+ },
+ want: []byte{
+ 0x00, 0x01,
+ 0x00, 0x10,
+ 0x00, 0x02,
+ 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01,
+ 0x09,
+ 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x65, 0x72, 0x76,
+ 0x04,
+ 0x46, 0x6f, 0x6f, 0x7a,
+ },
+ },
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ tr := &TrackerRegistration{
+ Port: tt.fields.Port,
+ UserCount: tt.fields.UserCount,
+ PassID: tt.fields.PassID,
+ Name: tt.fields.Name,
+ Description: tt.fields.Description,
+ }
+ if got := tr.Payload(); !reflect.DeepEqual(got, tt.want) {
+ t.Errorf("Payload() = %v, want %v", got, tt.want)
+ }
+ })
+ }
+}