aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/subzone_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/kubernetes/subzone_test.go')
-rw-r--r--middleware/kubernetes/subzone_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/middleware/kubernetes/subzone_test.go b/middleware/kubernetes/subzone_test.go
new file mode 100644
index 000000000..c48e66c12
--- /dev/null
+++ b/middleware/kubernetes/subzone_test.go
@@ -0,0 +1,32 @@
+package kubernetes
+
+import (
+ "testing"
+)
+
+// List of configured zones to test against
+var confZones = []string{
+ "a.b.c",
+ "d",
+}
+
+// Map of zonename :: expected boolean result
+var examplesSubzoneConflict = map[string]bool{
+ "a.b.c": true, // conflicts with zone "a.b.c"
+ "b.c": true, // conflicts with zone "a.b.c"
+ "c": true, // conflicts with zone "a.b.c"
+ "e": false, // no conflict
+ "a.b.c.e": false, // no conflict
+ "a.b.c.d": true, // conflicts with zone "d"
+ "": false,
+}
+
+func TestsubzoneConflict(t *testing.T) {
+ for z, expected := range examplesSubzoneConflict {
+ actual, conflicts := subzoneConflict(confZones, z)
+
+ if actual != expected {
+ t.Errorf("Expected conflict result '%v' for example '%v'. Instead got '%v'. Conflicting zones are: %v", expected, z, actual, conflicts)
+ }
+ }
+}