diff options
Diffstat (limited to 'testsuite')
4 files changed, 54 insertions, 21 deletions
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py index 2eda38cdc..a1e624824 100644 --- a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py +++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py @@ -71,10 +71,12 @@ class TestPlugin(TestDebuggable): def get_obj(self, core=None): if core is None: core = Mock() + core.setup = MagicMock() return self.test_obj(core, datastore) def test__init(self): core = Mock() + core.setup = MagicMock() p = self.get_obj(core=core) self.assertEqual(p.data, os.path.join(datastore, p.name)) self.assertEqual(p.core, core) diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py index 9a064663e..343f088b3 100644 --- a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py +++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py @@ -108,15 +108,30 @@ class TestStatistics(TestPlugin): s.process_statistics, None, None) -class TestThreadedStatistics(TestStatistics): +class TestThreaded(Bcfg2TestCase): + test_obj = Threaded + + def get_obj(self): + return self.test_obj() + + def test_start_threads(self): + s = self.get_obj() + self.assertRaises(NotImplementedError, + s.start_threads) + + +class TestThreadedStatistics(TestStatistics, TestThreaded): test_obj = ThreadedStatistics data = [("foo.example.com", "<foo/>"), ("bar.example.com", "<bar/>")] + def get_obj(self, core=None): + return TestStatistics.get_obj(self, core=core) + @patch("threading.Thread.start") - def test__init(self, mock_start): - core = Mock() - ts = self.get_obj(core) + def test_start_threads(self, mock_start): + ts = self.get_obj() + ts.start_threads() mock_start.assert_any_call() @patch("%s.open" % builtins) @@ -157,7 +172,7 @@ class TestThreadedStatistics(TestStatistics): # verify this call in an ugly way self.assertItemsEqual(mock_dump.call_args[0][0], self.data) self.assertEqual(mock_dump.call_args[0][1], mock_open.return_value) - + @patch("os.unlink") @patch("os.path.exists") @patch("%s.open" % builtins) @@ -169,7 +184,7 @@ class TestThreadedStatistics(TestStatistics): core = Mock() core.terminate.isSet.return_value = False ts = self.get_obj(core) - + ts.work_queue = Mock() ts.work_queue.data = [] def reset(): @@ -279,7 +294,7 @@ class TestThreadedStatistics(TestStatistics): ts = self.get_obj() self.assertRaises(NotImplementedError, ts.handle_statistic, None, None) - + class TestPullSource(Bcfg2TestCase): def test_GetCurrentEntry(self): @@ -302,7 +317,7 @@ class TestPullTarget(Bcfg2TestCase): class TestDecision(Bcfg2TestCase): test_obj = Decision - + def get_obj(self): return self.test_obj() @@ -332,6 +347,7 @@ class TestVersion(TestPlugin): def get_obj(self, core=None): if core is None: core = Mock() + core.setup = MagicMock() return self.test_obj(core, datastore) def test_get_revision(self): diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgCheetahGenerator.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgCheetahGenerator.py index 1832e5e03..fc5d5e53d 100644 --- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgCheetahGenerator.py +++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgCheetahGenerator.py @@ -31,9 +31,18 @@ if HAS_CHEETAH or can_skip: ccg.data = "data" entry = lxml.etree.Element("Path", name="/test.txt") metadata = Mock() + Bcfg2.Server.Plugins.Cfg.CfgCheetahGenerator.SETUP = MagicMock() self.assertEqual(ccg.get_data(entry, metadata), mock_Template.return_value.respond.return_value) + Bcfg2.Server.Plugins.Cfg.CfgCheetahGenerator.SETUP.__getitem__.assert_called_with("repo") mock_Template.assert_called_with("data".decode(ccg.encoding), compilerSettings=ccg.settings) - mock_Template.return_value.respond.assert_called_with() + tmpl = mock_Template.return_value + tmpl.respond.assert_called_with() + self.assertEqual(tmpl.metadata, metadata) + self.assertEqual(tmpl.name, entry.get("name")) + self.assertEqual(tmpl.path, entry.get("name")) + self.assertEqual(tmpl.source_path, ccg.name) + self.assertEqual(tmpl.repo, + Bcfg2.Server.Plugins.Cfg.CfgCheetahGenerator.SETUP.__getitem__.return_value) diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgGenshiGenerator.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgGenshiGenerator.py index 4a849c11a..385f8df77 100644 --- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgGenshiGenerator.py +++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgGenshiGenerator.py @@ -51,15 +51,24 @@ if can_skip or HAS_GENSHI: entry = lxml.etree.Element("Path", name="/test.txt") metadata = Mock() + Bcfg2.Server.Plugins.Cfg.CfgGenshiGenerator.SETUP = MagicMock() + def reset(): cgg.template.reset_mock() cgg._handle_genshi_exception.reset_mock() + Bcfg2.Server.Plugins.Cfg.CfgGenshiGenerator.SETUP.reset_mock() + + template_vars = dict( + name=entry.get("name"), + metadata=metadata, + path=cgg.name, + source_path=cgg.name, + repo=Bcfg2.Server.Plugins.Cfg.CfgGenshiGenerator.SETUP.__getitem__.return_value) self.assertEqual(cgg.get_data(entry, metadata), stream.render.return_value) - cgg.template.generate.assert_called_with(name=entry.get("name"), - metadata=metadata, - path=cgg.name) + cgg.template.generate.assert_called_with(**template_vars) + Bcfg2.Server.Plugins.Cfg.CfgGenshiGenerator.SETUP.__getitem__.assert_called_with("repo") fltr.filter.assert_called_with(removecomment) stream.render.assert_called_with("text", encoding=cgg.encoding, strip_whitespace=False) @@ -71,9 +80,8 @@ if can_skip or HAS_GENSHI: stream.render.side_effect = render self.assertEqual(cgg.get_data(entry, metadata), stream.render.return_value) - cgg.template.generate.assert_called_with(name=entry.get("name"), - metadata=metadata, - path=cgg.name) + cgg.template.generate.assert_called_with(**template_vars) + Bcfg2.Server.Plugins.Cfg.CfgGenshiGenerator.SETUP.__getitem__.assert_called_with("repo") fltr.filter.assert_called_with(removecomment) self.assertEqual(stream.render.call_args_list, [call("text", encoding=cgg.encoding, @@ -84,9 +92,8 @@ if can_skip or HAS_GENSHI: stream.render.side_effect = UndefinedError("test") self.assertRaises(UndefinedError, cgg.get_data, entry, metadata) - cgg.template.generate.assert_called_with(name=entry.get("name"), - metadata=metadata, - path=cgg.name) + cgg.template.generate.assert_called_with(**template_vars) + Bcfg2.Server.Plugins.Cfg.CfgGenshiGenerator.SETUP.__getitem__.assert_called_with("repo") fltr.filter.assert_called_with(removecomment) stream.render.assert_called_with("text", encoding=cgg.encoding, strip_whitespace=False) @@ -96,9 +103,8 @@ if can_skip or HAS_GENSHI: cgg._handle_genshi_exception.side_effect = ValueError self.assertRaises(ValueError, cgg.get_data, entry, metadata) - cgg.template.generate.assert_called_with(name=entry.get("name"), - metadata=metadata, - path=cgg.name) + cgg.template.generate.assert_called_with(**template_vars) + Bcfg2.Server.Plugins.Cfg.CfgGenshiGenerator.SETUP.__getitem__.assert_called_with("repo") fltr.filter.assert_called_with(removecomment) stream.render.assert_called_with("text", encoding=cgg.encoding, strip_whitespace=False) |