]> git.ipfire.org Git - thirdparty/pdns.git/blame - regression-tests.api/test_Servers.py
webserver: implement statistics, fix config
[thirdparty/pdns.git] / regression-tests.api / test_Servers.py
CommitLineData
1a152698
CH
1import unittest
2import requests
3from test_helper import ApiTestCase
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
27 self.assertEquals(data['daemon_type'], 'authoritative')
28
29 def test_ReadConfig(self):
30 r = self.session.get(self.url("/servers/localhost/config"))
31 self.assertSuccessJson(r)
a45303b8
CH
32 data = dict([(r['name'], r['value']) for r in r.json()])
33 self.assertIn('daemon', data)
34
35 def test_ReadStatistics(self):
36 r = self.session.get(self.url("/servers/localhost/statistics"))
37 self.assertSuccessJson(r)
38 data = dict([(r['name'], r['value']) for r in r.json()])
39 self.assertIn('uptime', data)