summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Turner <jt@jtnet.co.uk>2017-12-07 20:49:13 +0000
committerJonathan Turner <jt@jtnet.co.uk>2017-12-07 20:49:13 +0000
commitf79927e3e776c5d3e783c3deaae2d5a72b1d4828 (patch)
tree5056b9036e6ddd7ed87238620740318a91881c9d
parent2f7e3d63bcbfc837f921c6e88036f8971f66e80d (diff)
travis
-rw-r--r--.travis.yml24
-rw-r--r--srv_integration_test.go33
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)
+ }
+}