aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache/setup_test.go
diff options
context:
space:
mode:
authorGravatar Antoine Tollenaere <atollena@gmail.com> 2022-05-02 19:16:33 +0200
committerGravatar GitHub <noreply@github.com> 2022-05-02 13:16:33 -0400
commit66f2ac7568ccb0178cc9ce6dbd7320bcd3428d64 (patch)
tree0eb7a1a25907a398f1d3d647c4895749b4908803 /plugin/cache/setup_test.go
parentc3572fdb30446b6e625113ee0329cc80810afd6a (diff)
downloadcoredns-66f2ac7568ccb0178cc9ce6dbd7320bcd3428d64.tar.gz
coredns-66f2ac7568ccb0178cc9ce6dbd7320bcd3428d64.tar.zst
coredns-66f2ac7568ccb0178cc9ce6dbd7320bcd3428d64.zip
plugin/cache: Add refresh mode setting to serve_stale (#5131)
This PR adds an optional REFRESH_MODE parameter on the serve_stale configuration directive of the cache plugin, which verifies that the upstream is still unavailable before returning stale entries. Signed-off-by: Antoine Tollenaere <atollena@gmail.com>
Diffstat (limited to 'plugin/cache/setup_test.go')
-rw-r--r--plugin/cache/setup_test.go29
1 files changed, 17 insertions, 12 deletions
diff --git a/plugin/cache/setup_test.go b/plugin/cache/setup_test.go
index 875af7d03..675147d1b 100644
--- a/plugin/cache/setup_test.go
+++ b/plugin/cache/setup_test.go
@@ -117,20 +117,25 @@ func TestSetup(t *testing.T) {
func TestServeStale(t *testing.T) {
tests := []struct {
- input string
- shouldErr bool
- staleUpTo time.Duration
+ input string
+ shouldErr bool
+ staleUpTo time.Duration
+ verifyStale bool
}{
- {"serve_stale", false, 1 * time.Hour},
- {"serve_stale 20m", false, 20 * time.Minute},
- {"serve_stale 1h20m", false, 80 * time.Minute},
- {"serve_stale 0m", false, 0},
- {"serve_stale 0", false, 0},
+ {"serve_stale", false, 1 * time.Hour, false},
+ {"serve_stale 20m", false, 20 * time.Minute, false},
+ {"serve_stale 1h20m", false, 80 * time.Minute, false},
+ {"serve_stale 0m", false, 0, false},
+ {"serve_stale 0", false, 0, false},
+ {"serve_stale 0 verify", false, 0, true},
+ {"serve_stale 0 immediate", false, 0, false},
+ {"serve_stale 0 VERIFY", false, 0, true},
// fails
- {"serve_stale 20", true, 0},
- {"serve_stale -20m", true, 0},
- {"serve_stale aa", true, 0},
- {"serve_stale 1m nono", true, 0},
+ {"serve_stale 20", true, 0, false},
+ {"serve_stale -20m", true, 0, false},
+ {"serve_stale aa", true, 0, false},
+ {"serve_stale 1m nono", true, 0, false},
+ {"serve_stale 0 after nono", true, 0, false},
}
for i, test := range tests {
c := caddy.NewTestController("dns", fmt.Sprintf("cache {\n%s\n}", test.input))