diff options
author | 2017-08-27 01:32:46 +0100 | |
---|---|---|
committer | 2017-08-26 17:32:46 -0700 | |
commit | 4049ed4f4b85f9f8214a03fc1bb48c579115f9e5 (patch) | |
tree | a7730bf9a282c04b39ecd0066c300be3a2a430cf /middleware/kubernetes/setup_ttl_test.go | |
parent | 01f6e8cba5ab12c5401ef73b0ac9a1d6ac07fcce (diff) | |
download | coredns-4049ed4f4b85f9f8214a03fc1bb48c579115f9e5.tar.gz coredns-4049ed4f4b85f9f8214a03fc1bb48c579115f9e5.tar.zst coredns-4049ed4f4b85f9f8214a03fc1bb48c579115f9e5.zip |
mw/kubernetes: add configurable TTL (#995)
* mw/kubernetes: add configurable TTL
Add ttl option to kubernetes. This defaults to 5s but allows
configuration to go up to 3600.
Configure the tests so that a few actually check for the 5s, while the
rest use the TTL of 303 which is ignored by the checking code.
Fixes #935
* fix tests
* and more
Diffstat (limited to 'middleware/kubernetes/setup_ttl_test.go')
-rw-r--r-- | middleware/kubernetes/setup_ttl_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/middleware/kubernetes/setup_ttl_test.go b/middleware/kubernetes/setup_ttl_test.go new file mode 100644 index 000000000..d58f91576 --- /dev/null +++ b/middleware/kubernetes/setup_ttl_test.go @@ -0,0 +1,45 @@ +package kubernetes + +import ( + "testing" + + "github.com/mholt/caddy" +) + +func TestKubernetesParseTTL(t *testing.T) { + tests := []struct { + input string // Corefile data as string + expectedTTL uint32 // expected count of defined zones. + shouldErr bool + }{ + {`kubernetes cluster.local { + ttl 56 + }`, 56, false}, + {`kubernetes cluster.local`, defaultTTL, false}, + {`kubernetes cluster.local { + ttl -1 + }`, 0, true}, + {`kubernetes cluster.local { + ttl 3601 + }`, 0, true}, + } + + for i, tc := range tests { + c := caddy.NewTestController("dns", tc.input) + k, _, err := kubernetesParse(c) + if err != nil && !tc.shouldErr { + t.Fatalf("Test %d: Expected no error, got %q", i, err) + } + if err == nil && tc.shouldErr { + t.Fatalf("Test %d: Expected error, got none", i) + } + if err != nil && tc.shouldErr { + // input should error + continue + } + + if k.ttl != tc.expectedTTL { + t.Errorf("Test %d: Expected TTl to be %d, got %d", i, tc.expectedTTL, k.ttl) + } + } +} |