diff options
author | Jonathan Turner <jt@jtnet.co.uk> | 2017-12-07 20:49:13 +0000 |
---|---|---|
committer | Jonathan Turner <jt@jtnet.co.uk> | 2017-12-07 20:49:13 +0000 |
commit | f79927e3e776c5d3e783c3deaae2d5a72b1d4828 (patch) | |
tree | 5056b9036e6ddd7ed87238620740318a91881c9d | |
parent | 2f7e3d63bcbfc837f921c6e88036f8971f66e80d (diff) |
travis
-rw-r--r-- | .travis.yml | 24 | ||||
-rw-r--r-- | srv_integration_test.go | 33 |
2 files changed, 57 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..cab4f7b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +language: go + +go: + - 1.7.x + - 1.8.x + - 1.9.x + - master + +gobuild_args: -tags=integration -race + +sudo: required + +services: + - docker + +before_install: + - docker pull jcmturner/gokrb5:dns + - docker run -d -h kdc.test.gokrb5 -v /etc/localtime:/etc/localtime:ro -e "TEST_KDC_ADDR=127.0.0.1" -p 53:53 -p 53:53/udp --name dns jcmturner/gokrb5:dns + +before_script: + - sudo sed -i 's/nameserver .*/nameserver 127.0.0.1/g' /etc/resolv.conf + +env: + - DNSUTILS_OVERRIDE_NS="127.0.0.1:53"
\ No newline at end of file diff --git a/srv_integration_test.go b/srv_integration_test.go new file mode 100644 index 0000000..29c573b --- /dev/null +++ b/srv_integration_test.go @@ -0,0 +1,33 @@ +// +build integration +// To turn on this test use -tags=integration in go test command + +package dnsutils + +import "github.com/stretchr/testify/assert" + +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 { + if s == v { + found = true + break + } + } + assert.True(t, found, "Record %s not found in results", s) + } +} |