plugin/cache: add a new keepttl option (#5879)

adds a new option `keepttl` to the cache plugin

Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch>
This commit is contained in:
Arthur Outhenin-Chalandre 2023-01-27 17:35:24 +01:00 committed by GitHub
parent d3e4fc78c3
commit bf7c2cf37b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 87 additions and 1 deletions

View file

@ -231,3 +231,32 @@ func TestDisable(t *testing.T) {
}
}
}
func TestKeepttl(t *testing.T) {
tests := []struct {
input string
shouldErr bool
}{
// positive
{"keepttl", false},
// negative
{"keepttl arg1", true},
}
for i, test := range tests {
c := caddy.NewTestController("dns", fmt.Sprintf("cache {\n%s\n}", test.input))
ca, err := cacheParse(c)
if test.shouldErr && err == nil {
t.Errorf("Test %v: Expected error but found nil", i)
continue
} else if !test.shouldErr && err != nil {
t.Errorf("Test %v: Expected no error but found error: %v", i, err)
continue
}
if test.shouldErr {
continue
}
if !ca.keepttl {
t.Errorf("Test %v: Expected keepttl enabled but disabled", i)
}
}
}