aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache/setup_test.go
diff options
context:
space:
mode:
authorGravatar Aaron Riekenberg <aaron.riekenberg@gmail.com> 2018-09-03 14:26:02 -0500
committerGravatar Tobias Schmidt <tobidt@gmail.com> 2018-09-03 21:26:02 +0200
commitb42eae7a04b8f789d7a20c0664895cd8e4638a22 (patch)
treece3c4fe568fda2368e9c103451d6c4364ac1e349 /plugin/cache/setup_test.go
parent4c6c9d4b2700c3e4606d4b98bde64e7c1ed0c231 (diff)
downloadcoredns-b42eae7a04b8f789d7a20c0664895cd8e4638a22.tar.gz
coredns-b42eae7a04b8f789d7a20c0664895cd8e4638a22.tar.zst
coredns-b42eae7a04b8f789d7a20c0664895cd8e4638a22.zip
Add MINTTL parameter to cache configuration. (#2055)
* Add success min TTL parameter to cache. * Add MINTTL to README. * Update README. * Add MINTTL to negative cache. * Remove unnecessary variable name. * Address review comments. * Configure cache in TestCacheZeroTTL to have 0 min ttl.
Diffstat (limited to 'plugin/cache/setup_test.go')
-rw-r--r--plugin/cache/setup_test.go51
1 files changed, 35 insertions, 16 deletions
diff --git a/plugin/cache/setup_test.go b/plugin/cache/setup_test.go
index c735e0bb2..bc1c163d1 100644
--- a/plugin/cache/setup_test.go
+++ b/plugin/cache/setup_test.go
@@ -14,54 +14,67 @@ func TestSetup(t *testing.T) {
expectedNcap int
expectedPcap int
expectedNttl time.Duration
+ expectedMinNttl time.Duration
expectedPttl time.Duration
+ expectedMinPttl time.Duration
expectedPrefetch int
}{
- {`cache`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 0},
- {`cache {}`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 0},
+ {`cache`, false, defaultCap, defaultCap, maxNTTL, minNTTL, maxTTL, minTTL, 0},
+ {`cache {}`, false, defaultCap, defaultCap, maxNTTL, minNTTL, maxTTL, minTTL, 0},
{`cache example.nl {
success 10
- }`, false, defaultCap, 10, maxNTTL, maxTTL, 0},
+ }`, false, defaultCap, 10, maxNTTL, minNTTL, maxTTL, minTTL, 0},
+ {`cache example.nl {
+ success 10 1800 30
+ }`, false, defaultCap, 10, maxNTTL, minNTTL, 1800 * time.Second, 30 * time.Second, 0},
{`cache example.nl {
success 10
denial 10 15
- }`, false, 10, 10, 15 * time.Second, maxTTL, 0},
+ }`, false, 10, 10, 15 * time.Second, minNTTL, maxTTL, minTTL, 0},
+ {`cache example.nl {
+ success 10
+ denial 10 15 2
+ }`, false, 10, 10, 15 * time.Second, 2 * time.Second, maxTTL, minTTL, 0},
{`cache 25 example.nl {
success 10
denial 10 15
- }`, false, 10, 10, 15 * time.Second, 25 * time.Second, 0},
- {`cache aaa example.nl`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 0},
+ }`, false, 10, 10, 15 * time.Second, minNTTL, 25 * time.Second, minTTL, 0},
+ {`cache 25 example.nl {
+ success 10
+ denial 10 15 5
+ }`, false, 10, 10, 15 * time.Second, 5 * time.Second, 25 * time.Second, minTTL, 0},
+ {`cache aaa example.nl`, false, defaultCap, defaultCap, maxNTTL, minNTTL, maxTTL, minTTL, 0},
{`cache {
prefetch 10
- }`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 10},
+ }`, false, defaultCap, defaultCap, maxNTTL, minNTTL, maxTTL, minTTL, 10},
// fails
{`cache example.nl {
success
denial 10 15
- }`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
+ }`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
{`cache example.nl {
success 15
denial aaa
- }`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
+ }`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
{`cache example.nl {
positive 15
negative aaa
- }`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
- {`cache 0 example.nl`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
- {`cache -1 example.nl`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
+ }`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
+ {`cache 0 example.nl`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
+ {`cache -1 example.nl`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
{`cache 1 example.nl {
positive 0
- }`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
+ }`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
{`cache 1 example.nl {
positive 0
prefetch -1
- }`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
+ }`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
{`cache 1 example.nl {
prefetch 0 blurp
- }`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
+ }`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
{`cache
- cache`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
+ cache`, true, defaultCap, defaultCap, maxTTL, minNTTL, maxTTL, minTTL, 0},
}
for i, test := range tests {
c := caddy.NewTestController("dns", test.input)
@@ -86,9 +99,15 @@ func TestSetup(t *testing.T) {
if ca.nttl != test.expectedNttl {
t.Errorf("Test %v: Expected nttl %v but found: %v", i, test.expectedNttl, ca.nttl)
}
+ if ca.minnttl != test.expectedMinNttl {
+ t.Errorf("Test %v: Expected minnttl %v but found: %v", i, test.expectedMinNttl, ca.minnttl)
+ }
if ca.pttl != test.expectedPttl {
t.Errorf("Test %v: Expected pttl %v but found: %v", i, test.expectedPttl, ca.pttl)
}
+ if ca.minpttl != test.expectedMinPttl {
+ t.Errorf("Test %v: Expected minpttl %v but found: %v", i, test.expectedMinPttl, ca.minpttl)
+ }
if ca.prefetch != test.expectedPrefetch {
t.Errorf("Test %v: Expected prefetch %v but found: %v", i, test.expectedPrefetch, ca.prefetch)
}