diff options
author | Jonathan Turner <jt@jtnet.co.uk> | 2017-12-07 21:09:44 +0000 |
---|---|---|
committer | Jonathan Turner <jt@jtnet.co.uk> | 2017-12-07 21:09:44 +0000 |
commit | f8386fc1c4a51f10f7819ca18b53d85760736607 (patch) | |
tree | bd7b2d5a623fad0c7f87127b1ed64bbb94dc67c0 | |
parent | e31697ae0d932fe7556a2c24e0f759022e940703 (diff) |
tests
-rw-r--r-- | srv.go | 3 | ||||
-rw-r--r-- | srv_integration_test.go | 45 |
2 files changed, 26 insertions, 22 deletions
@@ -1,8 +1,10 @@ package dnsutils import ( + "fmt" "math/rand" "net" + "os" "sort" ) @@ -47,6 +49,7 @@ func orderSRV(addrs []*net.SRV) (int, map[int]*net.SRV) { for _, p := range priorities { tos := weightedOrder(prioMap[p]) for i, s := range tos { + fmt.Fprintf(os.Stderr, "srv: %v", s.Target) count += 1 osrv[o+i] = s } diff --git a/srv_integration_test.go b/srv_integration_test.go index a26dc85..fd703eb 100644 --- a/srv_integration_test.go +++ b/srv_integration_test.go @@ -11,29 +11,30 @@ import ( ) func TestResolveKDC(t *testing.T) { - count, res, err := OrderedSRV("kerberos", "tcp", "test.gokrb5") - if err != nil { - t.Errorf("error resolving SRV DNS records: %v", err) - } - assert.Equal(t, 5, count, "Number of SRV records not as expected: %v", res) - assert.Equal(t, count, len(res), "Map size does not match: %v", res) - t.Logf("res: %v", res) - expected := []string{ - "kdc.test.gokrb5:88", - "kdc1a.test.gokrb5:88", - "kdc2a.test.gokrb5:88", - "kdc1b.test.gokrb5:88", - "kdc2b.test.gokrb5:88", - } - for _, s := range expected { - var found bool - for _, v := range res { - srvStr := strings.TrimRight(v.Target, ".") + ":" + strconv.Itoa(int(v.Port)) - if s == srvStr { - found = true - break + for i := 0; i < 100; i++ { + count, res, err := OrderedSRV("kerberos", "tcp", "test.gokrb5") + if err != nil { + t.Errorf("error resolving SRV DNS records: %v", err) + } + assert.Equal(t, 5, count, "Number of SRV records not as expected: %v", res) + assert.Equal(t, count, len(res), "Map size does not match: %v", res) + expected := []string{ + "kdc.test.gokrb5:88", + "kdc1a.test.gokrb5:88", + "kdc2a.test.gokrb5:88", + "kdc1b.test.gokrb5:88", + "kdc2b.test.gokrb5:88", + } + for _, s := range expected { + var found bool + for _, v := range res { + srvStr := strings.TrimRight(v.Target, ".") + ":" + strconv.Itoa(int(v.Port)) + if s == srvStr { + found = true + break + } } + assert.True(t, found, "Record %s not found in results", s) } - assert.True(t, found, "Record %s not found in results", s) } } |