aboutsummaryrefslogtreecommitdiff
path: root/core/dnsserver/onstartup_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/dnsserver/onstartup_test.go')
-rw-r--r--core/dnsserver/onstartup_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/core/dnsserver/onstartup_test.go b/core/dnsserver/onstartup_test.go
new file mode 100644
index 000000000..031613cb8
--- /dev/null
+++ b/core/dnsserver/onstartup_test.go
@@ -0,0 +1,40 @@
+package dnsserver
+
+import (
+ "testing"
+)
+
+func TestRegex1035PrefSyntax(t *testing.T) {
+
+ testCases := []struct {
+ zone string
+ expected bool
+ }{
+ {zone: ".", expected: true},
+ {zone: "example.com.", expected: true},
+ {zone: "example.", expected: true},
+ {zone: "example123.", expected: true},
+ {zone: "example123.com.", expected: true},
+ {zone: "abc-123.com.", expected: true},
+ {zone: "an-example.com.", expected: true},
+ {zone: "a.example.com.", expected: true},
+ {zone: "1.0.0.2.ip6.arpa.", expected: true},
+ {zone: "0.10.in-addr.arpa.", expected: true},
+ {zone: "example", expected: false},
+ {zone: "example:.", expected: false},
+ {zone: "-example.com.", expected: false},
+ {zone: ".example.com.", expected: false},
+ {zone: "1.example.com", expected: false},
+ {zone: "abc.123-xyz.", expected: false},
+ {zone: "example-?&^%$.com.", expected: false},
+ {zone: "abc-.example.com.", expected: false},
+ {zone: "abc-%$.example.com.", expected: false},
+ {zone: "123-abc.example.com.", expected: false},
+ }
+
+ for _, testCase := range testCases {
+ if checkZoneSyntax(testCase.zone) != testCase.expected {
+ t.Errorf("Expected %v for %q", testCase.expected, testCase.zone)
+ }
+ }
+}