summaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authorJason Kincl <kincljc@ornl.gov>2012-11-27 14:28:01 -0500
committerJason Kincl <kincljc@ornl.gov>2012-11-27 14:28:01 -0500
commit5e0265f837f0eb72123be0b5150451aebdf8b031 (patch)
treedbd5fdbe4ec93c48cbba6fec3f608ffefb26eac5 /testsuite
parent894299b01b6138c54a99fd41f166554d175d6106 (diff)
parent4c70626094248495bf2c11c09bf2f2f60917187d (diff)
downloadbcfg2-5e0265f837f0eb72123be0b5150451aebdf8b031.tar.gz
bcfg2-5e0265f837f0eb72123be0b5150451aebdf8b031.tar.bz2
bcfg2-5e0265f837f0eb72123be0b5150451aebdf8b031.zip
Merge remote branch 'upstream/master' into jasons-hacking
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py2
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py32
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgCheetahGenerator.py11
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgGenshiGenerator.py30
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)