X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=regression-tests.dnsdist%2Ftest_API.py;h=afb54015105409ec5fbf67d28bd52305274f1378;hb=c1fdf910b8fac26233157ee85d0d6e895c6ec9f8;hp=3d751cfe8c1710860c5b63096a4a87b82c5d725d;hpb=be879a95ca0275a0343d24bbc885d510b49d6479;p=thirdparty%2Fpdns.git diff --git a/regression-tests.dnsdist/test_API.py b/regression-tests.dnsdist/test_API.py index 3d751cfe8c..afb5401510 100644 --- a/regression-tests.dnsdist/test_API.py +++ b/regression-tests.dnsdist/test_API.py @@ -57,6 +57,7 @@ class TestAPIBasics(DNSDistTest): url = 'http://127.0.0.1:' + str(self._webServerPort) + path r = requests.get(url, headers=headers, timeout=self._webTimeout) self.assertEquals(r.status_code, 401) + def testBasicAuthOnly(self): """ API: Basic Authentication Only @@ -129,10 +130,10 @@ class TestAPIBasics(DNSDistTest): def testServersIDontExist(self): """ - API: /api/v1/servers/idontexist (should be 404) + API: /api/v1/servers/idonotexist (should be 404) """ headers = {'x-api-key': self._webServerAPIKey} - url = 'http://127.0.0.1:' + str(self._webServerPort) + '/api/v1/servers/idontexist' + url = 'http://127.0.0.1:' + str(self._webServerPort) + '/api/v1/servers/idonotexist' r = requests.get(url, headers=headers, timeout=self._webTimeout) self.assertEquals(r.status_code, 404) @@ -230,11 +231,12 @@ class TestAPIBasics(DNSDistTest): 'rule-drop', 'rule-nxdomain', 'rule-refused', 'self-answered', 'downstream-timeouts', 'downstream-send-errors', 'trunc-failures', 'no-policy', 'latency0-1', 'latency1-10', 'latency10-50', 'latency50-100', 'latency100-1000', - 'latency-slow', 'latency-avg100', 'latency-avg1000', 'latency-avg10000', - 'latency-avg1000000', 'uptime', 'real-memory-usage', 'noncompliant-queries', + 'latency-slow', 'latency-sum', 'latency-count', 'latency-avg100', 'latency-avg1000', + 'latency-avg10000', 'latency-avg1000000', 'uptime', 'real-memory-usage', 'noncompliant-queries', 'noncompliant-responses', 'rdqueries', 'empty-queries', 'cache-hits', - 'cache-misses', 'cpu-user-msec', 'cpu-sys-msec', 'fd-usage', 'dyn-blocked', - 'dyn-block-nmg-size', 'rule-servfail', 'security-status'] + 'cache-misses', 'cpu-iowait', 'cpu-steal', 'cpu-sys-msec', 'cpu-user-msec', 'fd-usage', 'dyn-blocked', + 'dyn-block-nmg-size', 'rule-servfail', 'security-status', + 'udp-in-errors', 'udp-noport-errors', 'udp-recvbuf-errors', 'udp-sndbuf-errors'] for key in expected: self.assertIn(key, values) @@ -360,24 +362,36 @@ class TestAPIWritable(DNSDistTest): self.assertEquals(r.status_code, 200) self.assertTrue(r.json()) content = r.json() - self.assertEquals(content['value'], newACL) + acl = content['value'] + acl.sort() + self.assertEquals(acl, newACL) r = requests.get(url, headers=headers, timeout=self._webTimeout) self.assertTrue(r) self.assertEquals(r.status_code, 200) self.assertTrue(r.json()) content = r.json() - self.assertEquals(content['value'], newACL) + acl = content['value'] + acl.sort() + self.assertEquals(acl, newACL) configFile = self._APIWriteDir + '/' + 'acl.conf' self.assertTrue(os.path.isfile(configFile)) fileContent = None with open(configFile, 'rt') as f: - fileContent = f.read() - - self.assertEquals(fileContent, """-- Generated by the REST API, DO NOT EDIT -setACL({"192.0.2.0/24", "198.51.100.0/24", "203.0.113.0/24"}) -""") + header = f.readline() + body = f.readline() + + self.assertEquals(header, """-- Generated by the REST API, DO NOT EDIT\n""") + + self.assertIn(body, { + """setACL({"192.0.2.0/24", "198.51.100.0/24", "203.0.113.0/24"})\n""", + """setACL({"192.0.2.0/24", "203.0.113.0/24", "198.51.100.0/24"})\n""", + """setACL({"198.51.100.0/24", "192.0.2.0/24", "203.0.113.0/24"})\n""", + """setACL({"198.51.100.0/24", "203.0.113.0/24", "192.0.2.0/24"})\n""", + """setACL({"203.0.113.0/24", "192.0.2.0/24", "198.51.100.0/24"})\n""", + """setACL({"203.0.113.0/24", "198.51.100.0/24", "192.0.2.0/24"})\n""" + }) class TestAPICustomHeaders(DNSDistTest):