diff options
author | 2018-04-25 15:48:32 -0400 | |
---|---|---|
committer | 2018-04-25 20:48:32 +0100 | |
commit | 5e06687ee5a9522bfc4faa9b8f2adf6103eb016d (patch) | |
tree | 8a061b71238ed746b860059aa85eb5ba78176ec3 /plugin/rewrite/setup_test.go | |
parent | 9e8893a0b5325a76b2784958bbe743ff3e831401 (diff) | |
download | coredns-5e06687ee5a9522bfc4faa9b8f2adf6103eb016d.tar.gz coredns-5e06687ee5a9522bfc4faa9b8f2adf6103eb016d.tar.zst coredns-5e06687ee5a9522bfc4faa9b8f2adf6103eb016d.zip |
plugin/rewrite: tweak parse error messaging, add tests (#1737)
* tweak parse error messaging, add tests
* looser err msg checking
Diffstat (limited to 'plugin/rewrite/setup_test.go')
-rw-r--r-- | plugin/rewrite/setup_test.go | 42 |
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()) + } } |