From 7f34d0f6e79b4ce12127d9ae054fa20ffaa5c236 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:35:54 -0400 Subject: [PATCH 01/14] start adding tests for wifi functions in network package this is the base for all the tests --- network/wifi_test.go | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 network/wifi_test.go diff --git a/network/wifi_test.go b/network/wifi_test.go new file mode 100644 index 00000000..06777c76 --- /dev/null +++ b/network/wifi_test.go @@ -0,0 +1,3 @@ +package network + +import "testing" From 92395b6170d1af795c9d6d8f3f909e9c3c0e38ff Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:36:26 -0400 Subject: [PATCH 02/14] add helper function to build example WiFi struct to be used in the rest of the tests, basically --- network/wifi_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 06777c76..2e32f3c3 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -1,3 +1,7 @@ package network import "testing" + +func buildExampleWiFi() *WiFi { + return NewWiFi(buildExampleEndpoint(), func(ap *AccessPoint) {}, func(ap *AccessPoint) {}) +} From 7e21ec9a97f875bd75fa36c1964d86edb28a825b Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:36:45 -0400 Subject: [PATCH 03/14] add test for Dot11Freq2Chan --- network/wifi_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 2e32f3c3..d2d7151f 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -5,3 +5,12 @@ import "testing" func buildExampleWiFi() *WiFi { return NewWiFi(buildExampleEndpoint(), func(ap *AccessPoint) {}, func(ap *AccessPoint) {}) } + +func TestDot11Freq2Chan(t *testing.T) { + exampleFreq := 2472 + exp := 13 + got := Dot11Freq2Chan(exampleFreq) + if got != exp { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 74c99d5ea1ca3ee780677265da46ac7454190c61 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:37:03 -0400 Subject: [PATCH 04/14] add test for Dot11Chan2Freq --- network/wifi_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index d2d7151f..a71bd04c 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -14,3 +14,12 @@ func TestDot11Freq2Chan(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestDot11Chan2Freq(t *testing.T) { + exampleChan := 13 + exp := 2472 + got := Dot11Chan2Freq(exampleChan) + if got != exp { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 74b387bf412ffe761bf347f15841f642f757f6cf Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:37:20 -0400 Subject: [PATCH 05/14] add test for NewWiFi --- network/wifi_test.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index a71bd04c..744d35b5 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -23,3 +23,10 @@ func TestDot11Chan2Freq(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestNewWiFi(t *testing.T) { + exampleWiFi := NewWiFi(buildExampleEndpoint(), func(ap *AccessPoint) {}, func(ap *AccessPoint) {}) + if exampleWiFi == nil { + t.Error("unable to build net wifi struct") + } +} From dfa55d2a2e46965aa772ff6441c5c6d7fa7b223a Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:37:40 -0400 Subject: [PATCH 06/14] add test for MarshalJSON --- network/wifi_test.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 744d35b5..79582c1c 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -30,3 +30,14 @@ func TestNewWiFi(t *testing.T) { t.Error("unable to build net wifi struct") } } + +func TestWiFiMarshalJSON(t *testing.T) { + exampleWiFi := buildExampleWiFi() + json, err := exampleWiFi.MarshalJSON() + if err != nil { + t.Error(err) + } + if len(json) <= 0 { + t.Error("unable to marshal JSON from WiFi struct") + } +} From 36562bc7a9a30b65e9b85550be64bbb93ac4991b Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:38:48 -0400 Subject: [PATCH 07/14] add test for EachAccessPoint --- network/wifi_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 79582c1c..96931872 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -41,3 +41,18 @@ func TestWiFiMarshalJSON(t *testing.T) { t.Error("unable to marshal JSON from WiFi struct") } } + +func TestEachAccessPoint(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleWiFi.aps["ff:ff:ff:ff:ff:f1"] = exampleAP + exampleWiFi.aps["ff:ff:ff:ff:ff:f2"] = exampleAP + count := 0 + exampleCB := func(mac string, ap *AccessPoint) { + count++ + } + exampleWiFi.EachAccessPoint(exampleCB) + if count != 2 { + t.Error("unable to perform callback function for each access point") + } +} From a9a37593a693d7e881aa1079d578b16bf0dbd934 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:39:05 -0400 Subject: [PATCH 08/14] add test for Stations --- network/wifi_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 96931872..88896cd3 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -56,3 +56,15 @@ func TestEachAccessPoint(t *testing.T) { t.Error("unable to perform callback function for each access point") } } + +func TestStations(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleWiFi.aps["ff:ff:ff:ff:ff:f1"] = exampleAP + exampleWiFi.aps["ff:ff:ff:ff:ff:f2"] = exampleAP + exp := 2 + got := len(exampleWiFi.Stations()) + if got != exp { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 00244349449314eacd537df97c0215040b549952 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:39:19 -0400 Subject: [PATCH 09/14] add test for List --- network/wifi_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 88896cd3..8feb4aaa 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -68,3 +68,15 @@ func TestStations(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestWiFiList(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleWiFi.aps["ff:ff:ff:ff:ff:f1"] = exampleAP + exampleWiFi.aps["ff:ff:ff:ff:ff:f2"] = exampleAP + exp := 2 + got := len(exampleWiFi.List()) + if got != exp { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From aa69d7499a3dddb64d6e4d7eb3d6e5acdec2e2b4 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:39:32 -0400 Subject: [PATCH 10/14] add test for Remove --- network/wifi_test.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 8feb4aaa..160504a1 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -80,3 +80,16 @@ func TestWiFiList(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestWiFiRemove(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleWiFi.aps["ff:ff:ff:ff:ff:f1"] = exampleAP + exampleWiFi.aps["ff:ff:ff:ff:ff:f2"] = exampleAP + exampleWiFi.Remove("ff:ff:ff:ff:ff:f1") + exp := 1 + got := len(exampleWiFi.List()) + if got != exp { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 116ae1219439d43d9479ddcf386f8609e10e0937 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:39:47 -0400 Subject: [PATCH 11/14] add test for AddIfNew --- network/wifi_test.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 160504a1..793da4dc 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -93,3 +93,16 @@ func TestWiFiRemove(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestWiFiAddIfNew(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleWiFi.aps["ff:ff:ff:ff:ff:f1"] = exampleAP + exampleWiFi.aps["ff:ff:ff:ff:ff:f2"] = exampleAP + exampleWiFi.AddIfNew("my_wifi2", "ff:ff:ff:ff:ff:f3", 2472, int8(0)) + exp := 3 + got := len(exampleWiFi.List()) + if got != exp { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 07ba5e8d5792da551496dc5889c35a38cc04d72b Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:40:03 -0400 Subject: [PATCH 12/14] add test for Get --- network/wifi_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 793da4dc..260f2b89 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -106,3 +106,13 @@ func TestWiFiAddIfNew(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestWiFiGet(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleWiFi.aps["ff:ff:ff:ff:ff:ff"] = exampleAP + _, found := exampleWiFi.Get("ff:ff:ff:ff:ff:ff") + if !found { + t.Error("unable to get access point from wifi struct with mac address") + } +} From 6911941fa28907600a2f3bd24c5acc7713f4a50b Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:40:24 -0400 Subject: [PATCH 13/14] add test for GetClient --- network/wifi_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 260f2b89..5d17141d 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -116,3 +116,15 @@ func TestWiFiGet(t *testing.T) { t.Error("unable to get access point from wifi struct with mac address") } } + +func TestWiFiGetClient(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleClient := NewStation("my_wifi", "ff:ff:ff:ff:ff:xx", 2472, int8(0)) + exampleAP.clients["ff:ff:ff:ff:ff:xx"] = exampleClient + exampleWiFi.aps["ff:ff:ff:ff:ff:ff"] = exampleAP + _, found := exampleWiFi.GetClient("ff:ff:ff:ff:ff:xx") + if !found { + t.Error("unable to get client from wifi struct with mac address") + } +} From 660f3268066ad2bb04d00bd686049e2b111ee420 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Tue, 1 May 2018 22:40:40 -0400 Subject: [PATCH 14/14] add test for Clear --- network/wifi_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/network/wifi_test.go b/network/wifi_test.go index 5d17141d..0ef7e488 100644 --- a/network/wifi_test.go +++ b/network/wifi_test.go @@ -128,3 +128,13 @@ func TestWiFiGetClient(t *testing.T) { t.Error("unable to get client from wifi struct with mac address") } } + +func TestWiFiClear(t *testing.T) { + exampleWiFi := buildExampleWiFi() + exampleAP := NewAccessPoint("my_wifi", "ff:ff:ff:ff:ff:ff", 2472, int8(0)) + exampleWiFi.aps["ff:ff:ff:ff:ff:ff"] = exampleAP + exampleWiFi.Clear() + if len(exampleWiFi.aps) != 0 { + t.Error("unable to clear known access point for wifi struct") + } +}