|
@@ -373,7 +373,7 @@ class TestStats(unittest.TestCase):
|
|
|
self.assertEqual(self.stats.update_statistics_data(owner='Dummy', foo='bar'),
|
|
|
['unknown module name: Dummy'])
|
|
|
|
|
|
- def test_update_modules_withpid(self):
|
|
|
+ def test_update_statistics_data_withpid(self):
|
|
|
# one pid of Auth
|
|
|
self.stats.update_statistics_data(owner='Auth',
|
|
|
pid=9999,
|
|
@@ -387,6 +387,19 @@ class TestStats(unittest.TestCase):
|
|
|
self.assertEqual(self.stats.statistics_data_bypid['Auth'][9999]['queries.tcp'], 1001)
|
|
|
self.assertEqual(self.stats.statistics_data_bypid,
|
|
|
{'Auth': {9999: {'queries.tcp': 1001}}})
|
|
|
+ # non-existent pid of Auth, but no changes in statistics data
|
|
|
+ self.stats.update_statistics_data(owner='Auth',
|
|
|
+ pid=10000,
|
|
|
+ **{'queries.tcp':2001})
|
|
|
+ self.assertTrue('Auth' in self.stats.statistics_data)
|
|
|
+ self.assertTrue('queries.tcp' in self.stats.statistics_data['Auth'])
|
|
|
+ self.assertEqual(self.stats.statistics_data['Auth']['queries.tcp'], 1001)
|
|
|
+ self.assertTrue('Auth' in self.stats.statistics_data_bypid)
|
|
|
+ self.assertTrue(9999 in self.stats.statistics_data_bypid['Auth'])
|
|
|
+ self.assertTrue('queries.tcp' in self.stats.statistics_data_bypid['Auth'][9999])
|
|
|
+ self.assertEqual(self.stats.statistics_data_bypid['Auth'][9999]['queries.tcp'], 1001)
|
|
|
+ self.assertEqual(self.stats.statistics_data_bypid,
|
|
|
+ {'Auth': {9999: {'queries.tcp': 1001}}})
|
|
|
# another pid of Auth
|
|
|
self.stats.update_statistics_data(owner='Auth',
|
|
|
pid=9998,
|
|
@@ -749,38 +762,117 @@ class TestStats(unittest.TestCase):
|
|
|
retval = isc.config.ccsession.parse_answer(
|
|
|
self.stats.command_set(owner='Auth',
|
|
|
pid=9997,
|
|
|
- data={ 'queries.tcp' : 1001 }))
|
|
|
+ data={ 'queries.tcp' : 1001,
|
|
|
+ 'queries.perzone':
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 1 },
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 2,
|
|
|
+ 'queries.udp': 3 }]}))
|
|
|
self.assertEqual(retval, (0,None))
|
|
|
self.assertTrue('Auth' in self.stats.statistics_data)
|
|
|
self.assertTrue('queries.tcp' in self.stats.statistics_data['Auth'])
|
|
|
self.assertEqual(self.stats.statistics_data['Auth']['queries.tcp'], 1001)
|
|
|
+ self.assertEqual(self.stats.statistics_data['Auth']['queries.perzone'],
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 1 },
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 2,
|
|
|
+ 'queries.udp': 3 }])
|
|
|
self.assertTrue('Stats' in self.stats.statistics_data)
|
|
|
self.assertTrue('last_update_time' in self.stats.statistics_data['Stats'])
|
|
|
self.assertTrue('Auth' in self.stats.statistics_data_bypid)
|
|
|
self.assertTrue(9997 in self.stats.statistics_data_bypid['Auth'])
|
|
|
self.assertTrue('queries.tcp' in self.stats.statistics_data_bypid['Auth'][9997])
|
|
|
+ self.assertTrue('queries.perzone' in self.stats.statistics_data_bypid['Auth'][9997])
|
|
|
+ self.assertEqual(self.stats.statistics_data_bypid['Auth'][9997]['queries.tcp'], 1001)
|
|
|
+ self.assertEqual(self.stats.statistics_data_bypid['Auth'][9997]['queries.perzone'],
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 1 },
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 2,
|
|
|
+ 'queries.udp': 3 }])
|
|
|
+ # non-existent pid of Auth, but no changes in statistics data
|
|
|
+ retval = isc.config.ccsession.parse_answer(
|
|
|
+ self.stats.command_set(owner='Auth',
|
|
|
+ pid=10000,
|
|
|
+ data={ 'queries.tcp' : 2001,
|
|
|
+ 'queries.perzone':
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 101 },
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 102,
|
|
|
+ 'queries.udp': 103 }]}))
|
|
|
+ self.assertEqual(retval, (0,None))
|
|
|
+ self.assertTrue('Auth' in self.stats.statistics_data)
|
|
|
+ self.assertTrue('queries.tcp' in self.stats.statistics_data['Auth'])
|
|
|
+ self.assertEqual(self.stats.statistics_data['Auth']['queries.tcp'], 1001)
|
|
|
+ self.assertEqual(self.stats.statistics_data['Auth']['queries.perzone'],
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 1 },
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 2,
|
|
|
+ 'queries.udp': 3 }])
|
|
|
+ self.assertTrue('Auth' in self.stats.statistics_data_bypid)
|
|
|
+ self.assertTrue(9997 in self.stats.statistics_data_bypid['Auth'])
|
|
|
+ self.assertTrue('queries.tcp' in self.stats.statistics_data_bypid['Auth'][9997])
|
|
|
self.assertEqual(self.stats.statistics_data_bypid['Auth'][9997]['queries.tcp'], 1001)
|
|
|
+ self.assertEqual(self.stats.statistics_data_bypid['Auth'][9997]['queries.perzone'],
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 1 },
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 2,
|
|
|
+ 'queries.udp': 3 }])
|
|
|
# another pid of Auth
|
|
|
retval = isc.config.ccsession.parse_answer(
|
|
|
self.stats.command_set(owner='Auth',
|
|
|
pid=9996,
|
|
|
data={ 'queries.tcp' : 1002,
|
|
|
- 'queries.udp' : 1003,}))
|
|
|
+ 'queries.udp' : 1003,
|
|
|
+ 'queries.perzone':
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 10,
|
|
|
+ 'queries.udp': 11},
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 12,
|
|
|
+ 'queries.udp': 13 }]}))
|
|
|
self.assertEqual(retval, (0,None))
|
|
|
self.assertTrue('Auth' in self.stats.statistics_data)
|
|
|
self.assertTrue('queries.tcp' in self.stats.statistics_data['Auth'])
|
|
|
self.assertTrue('queries.udp' in self.stats.statistics_data['Auth'])
|
|
|
+ self.assertTrue('queries.perzone' in self.stats.statistics_data['Auth'])
|
|
|
self.assertEqual(self.stats.statistics_data['Auth']['queries.tcp'], 2003)
|
|
|
self.assertEqual(self.stats.statistics_data['Auth']['queries.udp'], 1003)
|
|
|
+ self.assertEqual(self.stats.statistics_data['Auth']['queries.perzone'],
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 11,
|
|
|
+ 'queries.udp': 11},
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 14,
|
|
|
+ 'queries.udp': 16 }])
|
|
|
self.assertTrue('Auth' in self.stats.statistics_data_bypid)
|
|
|
self.assertTrue(9997 in self.stats.statistics_data_bypid['Auth'])
|
|
|
self.assertTrue(9996 in self.stats.statistics_data_bypid['Auth'])
|
|
|
self.assertTrue('queries.tcp' in self.stats.statistics_data_bypid['Auth'][9997])
|
|
|
self.assertTrue('queries.udp' in self.stats.statistics_data_bypid['Auth'][9996])
|
|
|
self.assertTrue('queries.udp' in self.stats.statistics_data_bypid['Auth'][9996])
|
|
|
+ self.assertTrue('queries.perzone' in self.stats.statistics_data_bypid['Auth'][9996])
|
|
|
self.assertEqual(self.stats.statistics_data_bypid['Auth'][9997]['queries.tcp'], 1001)
|
|
|
+ self.assertEqual(self.stats.statistics_data_bypid['Auth'][9997]['queries.perzone'],
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 1 },
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 2,
|
|
|
+ 'queries.udp': 3 }])
|
|
|
self.assertEqual(self.stats.statistics_data_bypid['Auth'][9996]['queries.tcp'], 1002)
|
|
|
self.assertEqual(self.stats.statistics_data_bypid['Auth'][9996]['queries.udp'], 1003)
|
|
|
+ self.assertEqual(self.stats.statistics_data_bypid['Auth'][9996]['queries.perzone'],
|
|
|
+ [{ 'zonename': 'test1.example',
|
|
|
+ 'queries.tcp': 10,
|
|
|
+ 'queries.udp': 11},
|
|
|
+ { 'zonename': 'test2.example',
|
|
|
+ 'queries.tcp': 12,
|
|
|
+ 'queries.udp': 13 }])
|
|
|
|
|
|
class TestOSEnv(unittest.TestCase):
|
|
|
def test_osenv(self):
|