aboutsummaryrefslogtreecommitdiff
path: root/middleware/proxy/upstream_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/proxy/upstream_test.go')
-rw-r--r--middleware/proxy/upstream_test.go46
1 files changed, 20 insertions, 26 deletions
diff --git a/middleware/proxy/upstream_test.go b/middleware/proxy/upstream_test.go
index 3aa4104e8..3ee225c2d 100644
--- a/middleware/proxy/upstream_test.go
+++ b/middleware/proxy/upstream_test.go
@@ -1,8 +1,6 @@
package proxy
import (
- "io/ioutil"
- "os"
"path/filepath"
"strings"
"testing"
@@ -35,19 +33,6 @@ func TestAllowedDomain(t *testing.T) {
}
}
-func writeTmpFile(t *testing.T, data string) (string, string) {
- tempDir, err := ioutil.TempDir("", "")
- if err != nil {
- t.Fatalf("tempDir: %v", err)
- }
-
- path := filepath.Join(tempDir, "resolv.conf")
- if err := ioutil.WriteFile(path, []byte(data), 0644); err != nil {
- t.Fatalf("writeFile: %v", err)
- }
- return tempDir, path
-}
-
func TestProxyParse(t *testing.T) {
rmFunc, cert, key, ca := getPEMFiles(t)
defer rmFunc()
@@ -66,6 +51,10 @@ func TestProxyParse(t *testing.T) {
false,
},
{
+ `proxy 10.0.0.0/24 8.8.8.8:53`,
+ false,
+ },
+ {
`
proxy . 8.8.8.8:53 {
policy round_robin
@@ -103,7 +92,7 @@ proxy . 8.8.8.8:53 {
{
`
proxy . 8.8.8.8:53 {
- except miek.nl example.org
+ except miek.nl example.org 10.0.0.0/24
}`,
false,
},
@@ -283,13 +272,18 @@ junky resolve.conf
[]string{"1.1.1.1:5000", "2.2.2.2:1234"},
},
}
- for i, test := range tests {
- tempDir, path := writeTmpFile(t, test.filedata)
- defer os.RemoveAll(tempDir)
- config := strings.Replace(test.inputUpstreams, "FILE", path, -1)
+ for i, tc := range tests {
+
+ path, rm, err := test.TempFile(".", tc.filedata)
+ if err != nil {
+ t.Fatalf("Test %d could not creat temp file %v", i, err)
+ }
+ defer rm()
+
+ config := strings.Replace(tc.inputUpstreams, "FILE", path, -1)
c := caddy.NewTestController("dns", config)
upstreams, err := NewStaticUpstreams(&c.Dispenser)
- if (err != nil) != test.shouldErr {
+ if (err != nil) != tc.shouldErr {
t.Errorf("Test %d expected no error, got %v", i+1, err)
}
var hosts []string
@@ -298,18 +292,18 @@ junky resolve.conf
hosts = append(hosts, h.Name)
}
}
- if !test.shouldErr {
- if len(hosts) != len(test.expected) {
- t.Errorf("Test %d expected %d hosts got %d", i+1, len(test.expected), len(upstreams))
+ if !tc.shouldErr {
+ if len(hosts) != len(tc.expected) {
+ t.Errorf("Test %d expected %d hosts got %d", i+1, len(tc.expected), len(upstreams))
} else {
ok := true
- for i, v := range test.expected {
+ for i, v := range tc.expected {
if v != hosts[i] {
ok = false
}
}
if !ok {
- t.Errorf("Test %d expected %v got %v", i+1, test.expected, upstreams)
+ t.Errorf("Test %d expected %v got %v", i+1, tc.expected, upstreams)
}
}
}