return an error for multiple use of some plugins (#1559)
* plugins: Return error for multiple use of some Return plugin.ErrOnce when a plugin that doesn't support it, is called mutliple times. This now adds it for: cache, dnssec, errors, forward, hosts, nsid. And changes it slightly in kubernetes, pprof, reload, root. * more tests
This commit is contained in:
parent
5faa9e7bc1
commit
f697b33283
27 changed files with 150 additions and 95 deletions
54
plugin/cache/setup_test.go
vendored
54
plugin/cache/setup_test.go
vendored
|
@ -20,46 +20,48 @@ func TestSetup(t *testing.T) {
|
|||
{`cache`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 0},
|
||||
{`cache {}`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 0},
|
||||
{`cache example.nl {
|
||||
success 10
|
||||
}`, false, defaultCap, 10, maxNTTL, maxTTL, 0},
|
||||
success 10
|
||||
}`, false, defaultCap, 10, maxNTTL, maxTTL, 0},
|
||||
{`cache example.nl {
|
||||
success 10
|
||||
denial 10 15
|
||||
}`, false, 10, 10, 15 * time.Second, maxTTL, 0},
|
||||
success 10
|
||||
denial 10 15
|
||||
}`, false, 10, 10, 15 * time.Second, maxTTL, 0},
|
||||
{`cache 25 example.nl {
|
||||
success 10
|
||||
denial 10 15
|
||||
}`, false, 10, 10, 15 * time.Second, 25 * time.Second, 0},
|
||||
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},
|
||||
{`cache {
|
||||
prefetch 10
|
||||
}`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 10},
|
||||
prefetch 10
|
||||
}`, false, defaultCap, defaultCap, maxNTTL, maxTTL, 10},
|
||||
|
||||
// fails
|
||||
{`cache example.nl {
|
||||
success
|
||||
denial 10 15
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
success
|
||||
denial 10 15
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
{`cache example.nl {
|
||||
success 15
|
||||
denial aaa
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
success 15
|
||||
denial aaa
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
{`cache example.nl {
|
||||
positive 15
|
||||
negative aaa
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
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},
|
||||
{`cache 1 example.nl {
|
||||
positive 0
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
positive 0
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
{`cache 1 example.nl {
|
||||
positive 0
|
||||
prefetch -1
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
positive 0
|
||||
prefetch -1
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
{`cache 1 example.nl {
|
||||
prefetch 0 blurp
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
prefetch 0 blurp
|
||||
}`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
{`cache
|
||||
cache`, true, defaultCap, defaultCap, maxTTL, maxTTL, 0},
|
||||
}
|
||||
for i, test := range tests {
|
||||
c := caddy.NewTestController("dns", test.input)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue