diff options
Diffstat (limited to 'middleware/kubernetes/subzone_test.go')
-rw-r--r-- | middleware/kubernetes/subzone_test.go | 32 |
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) + } + } +} |