diff options
Diffstat (limited to 'plugin/template/template_test.go')
-rw-r--r-- | plugin/template/template_test.go | 77 |
1 files changed, 38 insertions, 39 deletions
diff --git a/plugin/template/template_test.go b/plugin/template/template_test.go index a815e8c7c..0a89be744 100644 --- a/plugin/template/template_test.go +++ b/plugin/template/template_test.go @@ -5,26 +5,25 @@ import ( "fmt" "regexp" "testing" - - "github.com/coredns/coredns/plugin/test" - "github.com/mholt/caddy" - gotmpl "text/template" "github.com/coredns/coredns/plugin/pkg/dnstest" "github.com/coredns/coredns/plugin/pkg/fall" + "github.com/coredns/coredns/plugin/test" + + "github.com/mholt/caddy" "github.com/miekg/dns" ) func TestHandler(t *testing.T) { rcodeFallthrough := 3841 // reserved for private use, used to indicate a fallthrough exampleDomainATemplate := template{ - regex: []*regexp.Regexp{regexp.MustCompile("(^|[.])ip-10-(?P<b>[0-9]*)-(?P<c>[0-9]*)-(?P<d>[0-9]*)[.]example[.]$")}, - answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("{{ .Name }} 60 IN A 10.{{ .Group.b }}.{{ .Group.c }}.{{ .Group.d }}"))}, - qclass: dns.ClassANY, - qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, - zones: []string{"."}, + regex: []*regexp.Regexp{regexp.MustCompile("(^|[.])ip-10-(?P<b>[0-9]*)-(?P<c>[0-9]*)-(?P<d>[0-9]*)[.]example[.]$")}, + answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("{{ .Name }} 60 IN A 10.{{ .Group.b }}.{{ .Group.c }}.{{ .Group.d }}"))}, + qclass: dns.ClassANY, + qtype: dns.TypeANY, + fall: fall.F{Zones: []string{"."}}, + zones: []string{"."}, } exampleDomainANSTemplate := template{ regex: []*regexp.Regexp{regexp.MustCompile("(^|[.])ip-10-(?P<b>[0-9]*)-(?P<c>[0-9]*)-(?P<d>[0-9]*)[.]example[.]$")}, @@ -33,7 +32,7 @@ func TestHandler(t *testing.T) { authority: []*gotmpl.Template{gotmpl.Must(gotmpl.New("authority").Parse("example. IN NS ns0.example.com."))}, qclass: dns.ClassANY, qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, + fall: fall.F{Zones: []string{"."}}, zones: []string{"."}, } exampleDomainMXTemplate := template{ @@ -42,48 +41,48 @@ func TestHandler(t *testing.T) { additional: []*gotmpl.Template{gotmpl.Must(gotmpl.New("additional").Parse("{{ .Name }} 60 IN A 10.{{ .Group.b }}.{{ .Group.c }}.{{ .Group.d }}"))}, qclass: dns.ClassANY, qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, + fall: fall.F{Zones: []string{"."}}, zones: []string{"."}, } invalidDomainTemplate := template{ - regex: []*regexp.Regexp{regexp.MustCompile("[.]invalid[.]$")}, - rcode: dns.RcodeNameError, - answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("invalid. 60 {{ .Class }} SOA a.invalid. b.invalid. (1 60 60 60 60)"))}, - qclass: dns.ClassANY, - qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, - zones: []string{"."}, + regex: []*regexp.Regexp{regexp.MustCompile("[.]invalid[.]$")}, + rcode: dns.RcodeNameError, + answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("invalid. 60 {{ .Class }} SOA a.invalid. b.invalid. (1 60 60 60 60)"))}, + qclass: dns.ClassANY, + qtype: dns.TypeANY, + fall: fall.F{Zones: []string{"."}}, + zones: []string{"."}, } rcodeServfailTemplate := template{ - regex: []*regexp.Regexp{regexp.MustCompile(".*")}, - rcode: dns.RcodeServerFailure, - qclass: dns.ClassANY, - qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, - zones: []string{"."}, + regex: []*regexp.Regexp{regexp.MustCompile(".*")}, + rcode: dns.RcodeServerFailure, + qclass: dns.ClassANY, + qtype: dns.TypeANY, + fall: fall.F{Zones: []string{"."}}, + zones: []string{"."}, } brokenTemplate := template{ - regex: []*regexp.Regexp{regexp.MustCompile("[.]example[.]$")}, - answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("{{ .Name }} 60 IN TXT \"{{ index .Match 2 }}\""))}, - qclass: dns.ClassANY, - qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, - zones: []string{"."}, + regex: []*regexp.Regexp{regexp.MustCompile("[.]example[.]$")}, + answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("{{ .Name }} 60 IN TXT \"{{ index .Match 2 }}\""))}, + qclass: dns.ClassANY, + qtype: dns.TypeANY, + fall: fall.F{Zones: []string{"."}}, + zones: []string{"."}, } nonRRTemplate := template{ - regex: []*regexp.Regexp{regexp.MustCompile("[.]example[.]$")}, - answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("{{ .Name }}"))}, - qclass: dns.ClassANY, - qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, - zones: []string{"."}, + regex: []*regexp.Regexp{regexp.MustCompile("[.]example[.]$")}, + answer: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("{{ .Name }}"))}, + qclass: dns.ClassANY, + qtype: dns.TypeANY, + fall: fall.F{Zones: []string{"."}}, + zones: []string{"."}, } nonRRAdditionalTemplate := template{ regex: []*regexp.Regexp{regexp.MustCompile("[.]example[.]$")}, additional: []*gotmpl.Template{gotmpl.Must(gotmpl.New("answer").Parse("{{ .Name }}"))}, qclass: dns.ClassANY, qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, + fall: fall.F{Zones: []string{"."}}, zones: []string{"."}, } nonRRAuthoritativeTemplate := template{ @@ -91,7 +90,7 @@ func TestHandler(t *testing.T) { authority: []*gotmpl.Template{gotmpl.Must(gotmpl.New("authority").Parse("{{ .Name }}"))}, qclass: dns.ClassANY, qtype: dns.TypeANY, - fthrough: fall.F{Zones: []string{"."}}, + fall: fall.F{Zones: []string{"."}}, zones: []string{"."}, } |