aboutsummaryrefslogtreecommitdiff
path: root/plugin/rewrite/rewrite_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/rewrite/rewrite_test.go')
-rw-r--r--plugin/rewrite/rewrite_test.go32
1 files changed, 19 insertions, 13 deletions
diff --git a/plugin/rewrite/rewrite_test.go b/plugin/rewrite/rewrite_test.go
index ecab07787..260b65c82 100644
--- a/plugin/rewrite/rewrite_test.go
+++ b/plugin/rewrite/rewrite_test.go
@@ -3,6 +3,7 @@ package rewrite
import (
"bytes"
"context"
+ "fmt"
"reflect"
"testing"
@@ -16,6 +17,11 @@ import (
)
func msgPrinter(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
+ if len(r.Answer) == 0 {
+ r.Answer = []dns.RR{
+ test.A(fmt.Sprintf("%s 5 IN A 10.0.0.1", r.Question[0].Name)),
+ }
+ }
w.WriteMsg(r)
return 0, nil
}
@@ -44,7 +50,7 @@ func TestNewRule(t *testing.T) {
{[]string{"name", "regex", "(cdns)\\.(core)\\.(rocks)", "{2}.{1}.{3}", "answer", "ttl", "(core)\\.(cdns)\\.(rocks)", "{2}.{1}.{3}"}, true, nil},
{[]string{"name", "regex", "(ddns)\\.(core)\\.(rocks)", "{2}.{1}.{3}", "answer", "name", "\xecore\\.(ddns)\\.(rocks)", "{2}.{1}.{3}"}, true, nil},
{[]string{"name", "regex", "\xedns\\.(core)\\.(rocks)", "{2}.{1}.{3}", "answer", "name", "(core)\\.(edns)\\.(rocks)", "{2}.{1}.{3}"}, true, nil},
- {[]string{"name", "substring", "fcore.dns.rocks", "dns.fcore.rocks", "answer", "name", "(fcore)\\.(dns)\\.(rocks)", "{2}.{1}.{3}"}, true, nil},
+ {[]string{"name", "substring", "fcore.dns.rocks", "dns.fcore.rocks", "answer", "name", "(fcore)\\.(dns)\\.(rocks)", "{2}.{1}.{3}"}, false, reflect.TypeOf(&substringNameRule{})},
{[]string{"name", "substring", "a.com", "b.com", "c.com"}, true, nil},
{[]string{"type"}, true, nil},
{[]string{"type", "a"}, true, nil},
@@ -185,9 +191,9 @@ func TestRewrite(t *testing.T) {
rules = append(rules, r)
rw := Rewrite{
- Next: plugin.HandlerFunc(msgPrinter),
- Rules: rules,
- noRevert: true,
+ Next: plugin.HandlerFunc(msgPrinter),
+ Rules: rules,
+ RevertPolicy: NoRevertPolicy(),
}
tests := []struct {
@@ -248,8 +254,8 @@ func TestRewrite(t *testing.T) {
func TestRewriteEDNS0Local(t *testing.T) {
rw := Rewrite{
- Next: plugin.HandlerFunc(msgPrinter),
- noRevert: true,
+ Next: plugin.HandlerFunc(msgPrinter),
+ RevertPolicy: NoRevertPolicy(),
}
tests := []struct {
@@ -336,9 +342,9 @@ func TestEdns0LocalMultiRule(t *testing.T) {
rules = append(rules, r)
rw := Rewrite{
- Next: plugin.HandlerFunc(msgPrinter),
- Rules: rules,
- noRevert: true,
+ Next: plugin.HandlerFunc(msgPrinter),
+ Rules: rules,
+ RevertPolicy: NoRevertPolicy(),
}
tests := []struct {
@@ -447,8 +453,8 @@ func (tp testProvider) Metadata(ctx context.Context, state request.Request) cont
func TestRewriteEDNS0LocalVariable(t *testing.T) {
rw := Rewrite{
- Next: plugin.HandlerFunc(msgPrinter),
- noRevert: true,
+ Next: plugin.HandlerFunc(msgPrinter),
+ RevertPolicy: NoRevertPolicy(),
}
expectedMetadata := []metadata.Provider{
@@ -569,8 +575,8 @@ func TestRewriteEDNS0LocalVariable(t *testing.T) {
func TestRewriteEDNS0Subnet(t *testing.T) {
rw := Rewrite{
- Next: plugin.HandlerFunc(msgPrinter),
- noRevert: true,
+ Next: plugin.HandlerFunc(msgPrinter),
+ RevertPolicy: NoRevertPolicy(),
}
tests := []struct {