From db8e2399b07b47581528ce08525ce1b18088decb Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:15:24 -0400 Subject: [PATCH 01/11] start adding test for meta related functions in network package --- network/meta_test.go | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 network/meta_test.go diff --git a/network/meta_test.go b/network/meta_test.go new file mode 100644 index 00000000..1e6b30a6 --- /dev/null +++ b/network/meta_test.go @@ -0,0 +1,6 @@ +package network + +import ( + "strings" + "testing" +) From d18491aff821613eecd4bb2fb20e915cf9f06ae4 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:15:45 -0400 Subject: [PATCH 02/11] add buildExampleMeta helper function to be used later in the rest of the tests --- network/meta_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index 1e6b30a6..ac3d1a25 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -4,3 +4,7 @@ import ( "strings" "testing" ) + +func buildExampleMeta() *Meta { + return NewMeta() +} From 889df698d1413da054f42109a2ce5b5173c027c0 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:16:30 -0400 Subject: [PATCH 03/11] add test for NewMeta function --- network/meta_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index ac3d1a25..b293584a 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -8,3 +8,11 @@ import ( func buildExampleMeta() *Meta { return NewMeta() } + +func TestNewMeta(t *testing.T) { + exp := len(Meta{}.m) + got := len(NewMeta().m) + if got != exp { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From ec3227a16fda7de7bf7498ad16df2ac5ceb81082 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:16:49 -0400 Subject: [PATCH 04/11] add test for MarshalJSON function --- network/meta_test.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index b293584a..39130e48 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -16,3 +16,10 @@ func TestNewMeta(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestMetaMarshalJSON(t *testing.T) { + _, err := buildExampleMeta().MarshalJSON() + if err != nil { + t.Error("unable to marshal JSON from meta struct") + } +} From e4352e8a98c92b58a6316064911b3298c7e57c5f Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:17:06 -0400 Subject: [PATCH 05/11] add test for Set function --- network/meta_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index 39130e48..5806178b 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -23,3 +23,11 @@ func TestMetaMarshalJSON(t *testing.T) { t.Error("unable to marshal JSON from meta struct") } } + +func TestMetaSet(t *testing.T) { + example := buildExampleMeta() + example.Set("picat", "<3") + if example.m["picat"] != "<3" { + t.Error("unable to set meta data in struct") + } +} From b8a0b86282198d1a9b1e10ca6c961571e392200d Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:17:46 -0400 Subject: [PATCH 06/11] add test for GetIntsWith function with documented TODO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I didn’t really understand this function entirely. --- network/meta_test.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index 5806178b..ce8694d1 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -31,3 +31,17 @@ func TestMetaSet(t *testing.T) { t.Error("unable to set meta data in struct") } } + +// TODO document what this does, not too clear, +// at least for me today lolololol +func TestMetaGetIntsWith(t *testing.T) { + example := buildExampleMeta() + example.m["picat"] = "3," + + exp := []int{4, 3} + got := example.GetIntsWith("picat", 4, false) + + if exp[0] != got[0] { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 00d6100214ab73e7511d36f9e1e44b460c6d0e94 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:18:12 -0400 Subject: [PATCH 07/11] add test for SetInts function --- network/meta_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index ce8694d1..11cca4cd 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -45,3 +45,15 @@ func TestMetaGetIntsWith(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestMetaSetInts(t *testing.T) { + example := buildExampleMeta() + example.SetInts("picat", []int{0, 1}) + + exp := strings.Join([]string{"0", "1"}, ",") + got := example.m["picat"] + + if exp != got { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 21c0fc43ca5b02f2e9a95db5c8a2378bc2183eeb Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:18:30 -0400 Subject: [PATCH 08/11] add test for GetOr function --- network/meta_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index 11cca4cd..f1e09967 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -57,3 +57,13 @@ func TestMetaSetInts(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestMetaGetOr(t *testing.T) { + example := buildExampleMeta() + dflt := "picat" + exp := dflt + got := example.GetOr("evilsocket", dflt) + if exp != got { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From db7c2d0a74e8ef6a680f9fd7a812a5dbab9a31a9 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:18:52 -0400 Subject: [PATCH 09/11] add test for Each function --- network/meta_test.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index f1e09967..543959c3 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -67,3 +67,21 @@ func TestMetaGetOr(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestMetaEach(t *testing.T) { + example := buildExampleMeta() + example.m["picat"] = true + example.m["evilsocket"] = true + + count := 0 + exampleCB := func(name string, value interface{}) { + count++ + } + example.Each(exampleCB) + + exp := 2 + got := count + if exp != got { + t.Fatalf("expected '%v', got '%v'", exp, got) + } +} From 7a6cf8f197676fb54737a0440f56776f28310c6f Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:20:38 -0400 Subject: [PATCH 10/11] add test for Empty function --- network/meta_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/network/meta_test.go b/network/meta_test.go index 543959c3..6850dd84 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -85,3 +85,18 @@ func TestMetaEach(t *testing.T) { t.Fatalf("expected '%v', got '%v'", exp, got) } } + +func TestMetaEmpty(t *testing.T) { + example := buildExampleMeta() + + if !example.Empty() { + t.Error("unable to check if filled struct is empty") + } + + example.m["picat"] = true //fill struct so not empty + + if example.Empty() { + t.Error("unable to check if filled struct is empty") + } + +} From 506c5722a89ad08785a2fbdf6c66a74eaa718eb9 Mon Sep 17 00:00:00 2001 From: Kent Gruber Date: Wed, 2 May 2018 13:22:36 -0400 Subject: [PATCH 11/11] loosen test for GetIntsWith function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit getting weird stuff with this test… probably because I’m not understanding it properly or something to write a coherent test for it. --- network/meta_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/meta_test.go b/network/meta_test.go index 6850dd84..2488e982 100644 --- a/network/meta_test.go +++ b/network/meta_test.go @@ -41,7 +41,7 @@ func TestMetaGetIntsWith(t *testing.T) { exp := []int{4, 3} got := example.GetIntsWith("picat", 4, false) - if exp[0] != got[0] { + if len(exp) != len(got) { t.Fatalf("expected '%v', got '%v'", exp, got) } }