]> git.ipfire.org Git - thirdparty/pdns.git/blame - regression-tests.api/test_Servers.py
Merge pull request #1418 from mind04/bind
[thirdparty/pdns.git] / regression-tests.api / test_Servers.py
CommitLineData
1a152698
CH
1import unittest
2import requests
7c876c30 3from test_helper import ApiTestCase, isAuth, isRecursor
1a152698
CH
4
5
6class Servers(ApiTestCase):
7
8 def test_ListServers(self):
9 r = self.session.get(self.url("/servers"))
10 self.assertSuccessJson(r)
11 lst = r.json()
12 self.assertEquals(len(lst), 1) # only localhost allowed in there
13 data = lst[0]
14 for k in ('id', 'daemon_type', 'url'):
15 self.assertIn(k, data)
16 self.assertEquals(data['id'], 'localhost')
17
18 def test_ServersLocalhost(self):
19 r = self.session.get(self.url("/servers/localhost"))
20 self.assertSuccessJson(r)
21 data = r.json()
22 for k in ('id', 'type', 'version', 'daemon_type', 'url', 'zones_url', 'config_url'):
23 self.assertIn(k, data)
24 self.assertEquals(data['id'], 'localhost')
25 self.assertEquals(data['type'], 'Server')
26 # or 'recursor' for recursors
7c876c30
CH
27 if isAuth():
28 daemon_type = 'authoritative'
29 elif isRecursor():
30 daemon_type = 'recursor'
31 self.assertEquals(data['daemon_type'], daemon_type)
1a152698
CH
32
33 def test_ReadConfig(self):
34 r = self.session.get(self.url("/servers/localhost/config"))
35 self.assertSuccessJson(r)
a45303b8
CH
36 data = dict([(r['name'], r['value']) for r in r.json()])
37 self.assertIn('daemon', data)
38
39 def test_ReadStatistics(self):
40 r = self.session.get(self.url("/servers/localhost/statistics"))
41 self.assertSuccessJson(r)
42 data = dict([(r['name'], r['value']) for r in r.json()])
43 self.assertIn('uptime', data)