aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/namespace_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/kubernetes/namespace_test.go')
-rw-r--r--plugin/kubernetes/namespace_test.go72
1 files changed, 72 insertions, 0 deletions
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)
+ }
+ }
+}