mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 08:44:17 -04:00
plugin/header: Introduce header plugin (#4752)
* Add header plugin Signed-off-by: MQasimSarfraz <syed.qasim.sarfraz@gmail.com> * fix import format * improve README.md * Add codeowners for header plugin
This commit is contained in:
53
plugin/header/setup_test.go
Normal file
53
plugin/header/setup_test.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package header
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/coredns/caddy"
|
||||
)
|
||||
|
||||
func TestSetupHeader(t *testing.T) {
|
||||
tests := []struct {
|
||||
input string
|
||||
shouldErr bool
|
||||
expectedErrContent string
|
||||
}{
|
||||
{`header {}`, true, "Wrong argument count or unexpected line ending after"},
|
||||
{`header {
|
||||
set
|
||||
}`, true, "invalid length for flags, at least one should be provided"},
|
||||
{`header {
|
||||
foo
|
||||
}`, true, "invalid length for flags, at least one should be provided"},
|
||||
{`header {
|
||||
foo bar
|
||||
}`, true, "unknown flag action=foo, should be set or clear"},
|
||||
{`header {
|
||||
set ra
|
||||
}`, false, ""},
|
||||
{`header {
|
||||
set ra aa
|
||||
clear rd
|
||||
}`, false, ""},
|
||||
}
|
||||
|
||||
for i, test := range tests {
|
||||
c := caddy.NewTestController("dns", test.input)
|
||||
err := setup(c)
|
||||
|
||||
if test.shouldErr && err == nil {
|
||||
t.Errorf("Test %d: Expected error but found none for input %s", i, test.input)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
if !test.shouldErr {
|
||||
t.Errorf("Test %d: Expected no error but found one for input %s. Error was: %v", i, test.input, err)
|
||||
}
|
||||
|
||||
if !strings.Contains(err.Error(), test.expectedErrContent) {
|
||||
t.Errorf("Test %d: Expected error to contain: %v, found error: %v, input: %s", i, test.expectedErrContent, err, test.input)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user