summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Turner <jt@jtnet.co.uk>2017-12-07 21:09:44 +0000
committerJonathan Turner <jt@jtnet.co.uk>2017-12-07 21:09:44 +0000
commitf8386fc1c4a51f10f7819ca18b53d85760736607 (patch)
treebd7b2d5a623fad0c7f87127b1ed64bbb94dc67c0
parente31697ae0d932fe7556a2c24e0f759022e940703 (diff)
tests
-rw-r--r--srv.go3
-rw-r--r--srv_integration_test.go45
2 files changed, 26 insertions, 22 deletions
diff --git a/srv.go b/srv.go
index 8ec35cd..80d8eed 100644
--- a/srv.go
+++ b/srv.go
@@ -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)
}
}