]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[1852] Add a regression test for checking StatsHttpd is no longer registered in Cfgmg...
authorNaoki Kambe <kambe@jprs.co.jp>
Thu, 5 Apr 2012 04:10:04 +0000 (13:10 +0900)
committerNaoki Kambe <kambe@jprs.co.jp>
Thu, 5 Apr 2012 04:10:45 +0000 (13:10 +0900)
src/bin/stats/tests/b10-stats-httpd_test.py

index e74405a3c6bffb9c24d79c9969335d5b4affb886..57abed9aa5ad3622f6b2fa09f1238608f3e61bda 100644 (file)
@@ -676,6 +676,24 @@ class TestStatsHttpd(unittest.TestCase):
         self.assertTrue('address' in self.stats_httpd.config['listen_on'][0])
         self.assertTrue('port' in self.stats_httpd.config['listen_on'][0])
         self.assertTrue(server_address in set(self.stats_httpd.http_addrs))
+        ans = send_command(
+            isc.config.ccsession.COMMAND_GET_MODULE_SPEC,
+            "ConfigManager", {"module_name":"StatsHttpd"})
+        # assert StatsHttpd is added to ConfigManager
+        self.assertNotEqual(ans, (0,{}))
+        self.assertTrue(ans[1]['module_name'], 'StatsHttpd')
+
+    def test_init_hterr(self):
+        orig_open_httpd = stats_httpd.StatsHttpd.open_httpd
+        def err_open_httpd(arg): raise stats_httpd.HttpServerError
+        stats_httpd.StatsHttpd.open_httpd = err_open_httpd
+        self.assertRaises(stats_httpd.HttpServerError, stats_httpd.StatsHttpd)
+        ans = send_command(
+            isc.config.ccsession.COMMAND_GET_MODULE_SPEC,
+            "ConfigManager", {"module_name":"StatsHttpd"})
+        # assert StatsHttpd is removed from ConfigManager
+        self.assertEqual(ans, (0,{}))
+        stats_httpd.StatsHttpd.open_httpd = orig_open_httpd
 
     def test_openclose_mccs(self):
         self.stats_httpd = MyStatsHttpd(get_availaddr())