aboutsummaryrefslogtreecommitdiff
path: root/plugin/rewrite/setup_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/rewrite/setup_test.go')
-rw-r--r--plugin/rewrite/setup_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/plugin/rewrite/setup_test.go b/plugin/rewrite/setup_test.go
index 67ef88e18..a8a8349b4 100644
--- a/plugin/rewrite/setup_test.go
+++ b/plugin/rewrite/setup_test.go
@@ -1,6 +1,7 @@
package rewrite
import (
+ "strings"
"testing"
"github.com/mholt/caddy"
@@ -22,4 +23,45 @@ func TestParse(t *testing.T) {
if err != nil {
t.Errorf("Expected success but found %s for `rewrite name a.com b.com`", err)
}
+
+ c = caddy.NewTestController("dns",
+ `rewrite stop {
+ name regex foo bar
+ answer name bar foo
+}`)
+ _, err = rewriteParse(c)
+ if err != nil {
+ t.Errorf("Expected success but found %s for valid response rewrite", err)
+ }
+
+ c = caddy.NewTestController("dns", `rewrite stop name regex foo bar answer name bar foo`)
+ _, err = rewriteParse(c)
+ if err != nil {
+ t.Errorf("Expected success but found %s for valid response rewrite", err)
+ }
+
+ c = caddy.NewTestController("dns",
+ `rewrite stop {
+ name regex foo bar
+ answer name bar foo
+ name baz qux
+}`)
+ _, err = rewriteParse(c)
+ if err == nil {
+ t.Errorf("Expected error but got success for invalid response rewrite")
+ } else if !strings.Contains(err.Error(), "must consist only of") {
+ t.Errorf("Got wrong error for invalid response rewrite: %v", err.Error())
+ }
+
+ c = caddy.NewTestController("dns",
+ `rewrite stop {
+ answer name bar foo
+ name regex foo bar
+}`)
+ _, err = rewriteParse(c)
+ if err == nil {
+ t.Errorf("Expected error but got success for invalid response rewrite")
+ } else if !strings.Contains(err.Error(), "must begin with a name rule") {
+ t.Errorf("Got wrong error for invalid response rewrite: %v", err.Error())
+ }
}