From a3dd8cdf8de1a9aacc36fe8cf0f268e69bd8a45d Mon Sep 17 00:00:00 2001 From: Matt Greenfield Date: Fri, 22 Mar 2019 08:32:40 -0600 Subject: Add `namespace_labels` configuration for kubernetes plugin (#2707) --- plugin/kubernetes/namespace_test.go | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 plugin/kubernetes/namespace_test.go (limited to 'plugin/kubernetes/namespace_test.go') diff --git a/plugin/kubernetes/namespace_test.go b/plugin/kubernetes/namespace_test.go new file mode 100644 index 000000000..d7d2cbcce --- /dev/null +++ b/plugin/kubernetes/namespace_test.go @@ -0,0 +1,72 @@ +package kubernetes + +import ( + "testing" +) + +func TestFilteredNamespaceExists(t *testing.T) { + tests := []struct{ + expected bool + kubernetesNamespaces map[string]struct{} + testNamespace string + }{ + {true, map[string]struct{}{}, "foobar" }, + {false, map[string]struct{}{}, "nsnoexist" }, + } + + k := Kubernetes{} + k.APIConn = &APIConnServeTest{} + for i, test := range tests { + k.Namespaces = test.kubernetesNamespaces + actual := k.filteredNamespaceExists(test.testNamespace) + if actual != test.expected { + t.Errorf("Test %d failed. Filtered namespace %s was expected to exist", i, test.testNamespace) + } + } +} + +func TestNamespaceExposed(t *testing.T) { + tests := []struct{ + expected bool + kubernetesNamespaces map[string]struct{} + testNamespace string + }{ + {true, map[string]struct{}{ "foobar": {} }, "foobar" }, + {false, map[string]struct{}{ "foobar": {} }, "nsnoexist" }, + {true, map[string]struct{}{}, "foobar" }, + {true, map[string]struct{}{}, "nsnoexist" }, + } + + k := Kubernetes{} + k.APIConn = &APIConnServeTest{} + for i, test := range tests { + k.Namespaces = test.kubernetesNamespaces + actual := k.configuredNamespace(test.testNamespace) + if actual != test.expected { + t.Errorf("Test %d failed. Namespace %s was expected to be exposed", i, test.testNamespace) + } + } +} + +func TestNamespaceValid(t *testing.T) { + tests := []struct{ + expected bool + kubernetesNamespaces map[string]struct{} + testNamespace string + }{ + {true, map[string]struct{}{ "foobar": {} }, "foobar" }, + {false, map[string]struct{}{ "foobar": {} }, "nsnoexist" }, + {true, map[string]struct{}{}, "foobar" }, + {false, map[string]struct{}{}, "nsnoexist" }, + } + + k := Kubernetes{} + k.APIConn = &APIConnServeTest{} + for i, test := range tests { + k.Namespaces = test.kubernetesNamespaces + actual := k.namespaceExposed(test.testNamespace) + if actual != test.expected { + t.Errorf("Test %d failed. Namespace %s was expected to be valid", i, test.testNamespace) + } + } +} -- cgit v1.2.3