|
|
@@ -26,6 +26,9 @@ import (
|
|
|
)
|
|
|
|
|
|
func mustNewURLs(t *testing.T, urls []string) []url.URL {
|
|
|
+ if urls == nil {
|
|
|
+ return nil
|
|
|
+ }
|
|
|
u, err := types.NewURLs(urls)
|
|
|
if err != nil {
|
|
|
t.Fatalf("unexpected new urls error: %v", err)
|
|
|
@@ -58,14 +61,19 @@ func TestGenClusterString(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func TestGenDNSClusterString(t *testing.T) {
|
|
|
+ oldname := *name
|
|
|
+ *name = "dnsClusterTest"
|
|
|
+ defer func() { *name = oldname }()
|
|
|
tests := []struct {
|
|
|
withSSL []*net.SRV
|
|
|
withoutSSL []*net.SRV
|
|
|
+ urls []string
|
|
|
expected string
|
|
|
}{
|
|
|
{
|
|
|
[]*net.SRV{},
|
|
|
[]*net.SRV{},
|
|
|
+ nil,
|
|
|
"",
|
|
|
},
|
|
|
{
|
|
|
@@ -75,6 +83,7 @@ func TestGenDNSClusterString(t *testing.T) {
|
|
|
&net.SRV{Target: "10.0.0.3", Port: 2480},
|
|
|
},
|
|
|
[]*net.SRV{},
|
|
|
+ nil,
|
|
|
"0=https://10.0.0.1:2480,1=https://10.0.0.2:2480,2=https://10.0.0.3:2480",
|
|
|
},
|
|
|
{
|
|
|
@@ -86,7 +95,20 @@ func TestGenDNSClusterString(t *testing.T) {
|
|
|
[]*net.SRV{
|
|
|
&net.SRV{Target: "10.0.0.1", Port: 7001},
|
|
|
},
|
|
|
- "0=https://10.0.0.1:2480,1=https://10.0.0.2:2480,2=https://10.0.0.3:2480,0=http://10.0.0.1:7001",
|
|
|
+ nil,
|
|
|
+ "0=https://10.0.0.1:2480,1=https://10.0.0.2:2480,2=https://10.0.0.3:2480,3=http://10.0.0.1:7001",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ []*net.SRV{
|
|
|
+ &net.SRV{Target: "10.0.0.1", Port: 2480},
|
|
|
+ &net.SRV{Target: "10.0.0.2", Port: 2480},
|
|
|
+ &net.SRV{Target: "10.0.0.3", Port: 2480},
|
|
|
+ },
|
|
|
+ []*net.SRV{
|
|
|
+ &net.SRV{Target: "10.0.0.1", Port: 7001},
|
|
|
+ },
|
|
|
+ []string{"https://10.0.0.1:2480"},
|
|
|
+ "dnsClusterTest=https://10.0.0.1:2480,0=https://10.0.0.2:2480,1=https://10.0.0.3:2480,2=http://10.0.0.1:7001",
|
|
|
},
|
|
|
}
|
|
|
|
|
|
@@ -101,7 +123,8 @@ func TestGenDNSClusterString(t *testing.T) {
|
|
|
return "", nil, errors.New("Unkown service in mock")
|
|
|
}
|
|
|
defer func() { lookupSRV = net.LookupSRV }()
|
|
|
- str, token, err := genDNSClusterString("token")
|
|
|
+ urls := mustNewURLs(t, tt.urls)
|
|
|
+ str, token, err := genDNSClusterString("token", urls)
|
|
|
if err != nil {
|
|
|
t.Fatalf("%d: err: %#v", i, err)
|
|
|
}
|