aboutsummaryrefslogtreecommitdiff
path: root/middleware/reverse/setup_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/reverse/setup_test.go')
-rw-r--r--middleware/reverse/setup_test.go195
1 files changed, 0 insertions, 195 deletions
diff --git a/middleware/reverse/setup_test.go b/middleware/reverse/setup_test.go
deleted file mode 100644
index 5b4c04e82..000000000
--- a/middleware/reverse/setup_test.go
+++ /dev/null
@@ -1,195 +0,0 @@
-package reverse
-
-import (
- "net"
- "reflect"
- "regexp"
- "testing"
-
- "github.com/mholt/caddy"
-)
-
-func TestSetupParse(t *testing.T) {
-
- _, net4, _ := net.ParseCIDR("10.1.1.0/24")
- _, net6, _ := net.ParseCIDR("fd01::/64")
-
- regexIP4wildcard, _ := regexp.Compile("^.*ip-" + regexMatchV4 + "\\.domain\\.com\\.$")
- regexIP6, _ := regexp.Compile("^ip-" + regexMatchV6 + "\\.domain\\.com\\.$")
- regexIpv4dynamic, _ := regexp.Compile("^dynamic-" + regexMatchV4 + "-intern\\.dynamic\\.domain\\.com\\.$")
- regexIpv6dynamic, _ := regexp.Compile("^dynamic-" + regexMatchV6 + "-intern\\.dynamic\\.domain\\.com\\.$")
- regexIpv4vpndynamic, _ := regexp.Compile("^dynamic-" + regexMatchV4 + "-vpn\\.dynamic\\.domain\\.com\\.$")
-
- serverBlockKeys := []string{"domain.com.:8053", "dynamic.domain.com.:8053"}
-
- tests := []struct {
- inputFileRules string
- shouldErr bool
- networks networks
- }{
- {
- // with defaults
- `reverse fd01::/64`,
- false,
- networks{network{
- IPnet: net6,
- Template: "ip-{ip}.domain.com.",
- Zone: "domain.com.",
- TTL: 60,
- RegexMatchIP: regexIP6,
- }},
- },
- {
- `reverse`,
- true,
- networks{},
- },
- {
- //no cidr
- `reverse 10.1.1.1`,
- true,
- networks{},
- },
- {
- //no cidr
- `reverse 10.1.1.0/16 fd00::`,
- true,
- networks{},
- },
- {
- // invalid key
- `reverse 10.1.1.0/24 {
- notavailable
- }`,
- true,
- networks{},
- },
- {
- // no domain suffix
- `reverse 10.1.1.0/24 {
- hostname ip-{ip}.
- }`,
- true,
- networks{},
- },
- {
- // hostname requires an second arg
- `reverse 10.1.1.0/24 {
- hostname
- }`,
- true,
- networks{},
- },
- {
- // template breaks regex compile
- `reverse 10.1.1.0/24 {
- hostname ip-{[-x
- }`,
- true,
- networks{},
- },
- {
- // ttl requires an (u)int
- `reverse 10.1.1.0/24 {
- ttl string
- }`,
- true,
- networks{},
- },
- {
- `reverse fd01::/64 {
- hostname dynamic-{ip}-intern.{zone[2]}
- ttl 50
- }
- reverse 10.1.1.0/24 {
- hostname dynamic-{ip}-vpn.{zone[2]}
- fallthrough
- }`,
- false,
- networks{network{
- IPnet: net6,
- Template: "dynamic-{ip}-intern.dynamic.domain.com.",
- Zone: "dynamic.domain.com.",
- TTL: 50,
- RegexMatchIP: regexIpv6dynamic,
- }, network{
- IPnet: net4,
- Template: "dynamic-{ip}-vpn.dynamic.domain.com.",
- Zone: "dynamic.domain.com.",
- TTL: 60,
- RegexMatchIP: regexIpv4vpndynamic,
- }},
- },
- {
- // multiple networks in one stanza
- `reverse fd01::/64 10.1.1.0/24 {
- hostname dynamic-{ip}-intern.{zone[2]}
- ttl 50
- fallthrough
- }`,
- false,
- networks{network{
- IPnet: net6,
- Template: "dynamic-{ip}-intern.dynamic.domain.com.",
- Zone: "dynamic.domain.com.",
- TTL: 50,
- RegexMatchIP: regexIpv6dynamic,
- }, network{
- IPnet: net4,
- Template: "dynamic-{ip}-intern.dynamic.domain.com.",
- Zone: "dynamic.domain.com.",
- TTL: 50,
- RegexMatchIP: regexIpv4dynamic,
- }},
- },
- {
- // fix domain in template
- `reverse fd01::/64 {
- hostname dynamic-{ip}-intern.dynamic.domain.com
- ttl 300
- fallthrough
- }`,
- false,
- networks{network{
- IPnet: net6,
- Template: "dynamic-{ip}-intern.dynamic.domain.com.",
- Zone: "dynamic.domain.com.",
- TTL: 300,
- RegexMatchIP: regexIpv6dynamic,
- }},
- },
- {
- `reverse 10.1.1.0/24 {
- hostname ip-{ip}.{zone[1]}
- ttl 50
- wildcard
- fallthrough
- }`,
- false,
- networks{network{
- IPnet: net4,
- Template: "ip-{ip}.domain.com.",
- Zone: "domain.com.",
- TTL: 50,
- RegexMatchIP: regexIP4wildcard,
- }},
- },
- }
- for i, test := range tests {
- c := caddy.NewTestController("dns", test.inputFileRules)
- c.ServerBlockKeys = serverBlockKeys
- networks, _, err := reverseParse(c)
-
- if err == nil && test.shouldErr {
- t.Fatalf("Test %d expected errors, but got no error", i)
- } else if err != nil && !test.shouldErr {
- t.Fatalf("Test %d expected no errors, but got '%v'", i, err)
- }
- for j, n := range networks {
- reflect.DeepEqual(test.networks[j], n)
- if !reflect.DeepEqual(test.networks[j], n) {
- t.Fatalf("Test %d/%d expected %v, got %v", i, j, test.networks[j], n)
- }
- }
- }
-}