From d0efac8fde1f2bfc77b45899073c225201c64a2c Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Mon, 20 Aug 2012 17:26:22 -0400 Subject: attempt to get tests working under python 2.6 --- testsuite/Testlib/TestServer/TestPlugin.py | 2 +- .../Testlib/TestServer/TestPlugins/TestMetadata.py | 20 ++++++++++++++------ .../Testlib/TestServer/TestPlugins/TestProbes.py | 18 ++++++++---------- 3 files changed, 23 insertions(+), 17 deletions(-) (limited to 'testsuite/Testlib/TestServer') diff --git a/testsuite/Testlib/TestServer/TestPlugin.py b/testsuite/Testlib/TestServer/TestPlugin.py index 1f2f236dd..d59b19a32 100644 --- a/testsuite/Testlib/TestServer/TestPlugin.py +++ b/testsuite/Testlib/TestServer/TestPlugin.py @@ -135,7 +135,7 @@ class TestPlugin(TestDebuggable): class TestDatabaseBacked(TestPlugin): test_obj = DatabaseBacked - @unittest.skipUnless(has_django, "Django not found") + @skipUnless(has_django, "Django not found") def test__use_db(self): core = Mock() core.setup.cfp.getboolean.return_value = True diff --git a/testsuite/Testlib/TestServer/TestPlugins/TestMetadata.py b/testsuite/Testlib/TestServer/TestPlugins/TestMetadata.py index 4990ca8f9..ee39eb2c9 100644 --- a/testsuite/Testlib/TestServer/TestPlugins/TestMetadata.py +++ b/testsuite/Testlib/TestServer/TestPlugins/TestMetadata.py @@ -370,7 +370,7 @@ class TestMetadata(_TestMetadata, TestStatistics, TestDatabaseBacked): return get_metadata_object(core=core, watch_clients=watch_clients, use_db=self.use_db) - @unittest.skipUnless(has_django, "Django not found") + @skipUnless(has_django, "Django not found") def test__use_db(self): # with the way we've set up our metadata tests, it's unweildy # to test _use_db. however, given the way get_obj works, if @@ -1128,15 +1128,13 @@ class TestMetadata(_TestMetadata, TestStatistics, TestDatabaseBacked): pass - class TestMetadataBase(TestMetadata): """ base test object for testing Metadata with database enabled """ __test__ = False use_db = True + @skipUnless(has_django, "Django not found") def setUp(self): - if not has_django: - self.skipTest("Django not found, skipping") syncdb(TestMetadataDB) def load_clients_data(self, metadata=None, xdata=None): @@ -1238,7 +1236,12 @@ class TestMetadataBase(TestMetadata): class TestMetadata_NoClientsXML(TestMetadataBase): """ test Metadata without a clients.xml. we have to disable or override tests that rely on client options """ - __test__ = True + # only run these tests if it's possible to skip tests or if we + # have django. otherwise they'll all get run because our fake + # skipping decorators for python < 2.7 won't work when they + # decorate setUp() + if can_skip or has_django: + __test__ = True def load_groups_data(self, metadata=None, xdata=None): if metadata is None: @@ -1398,7 +1401,12 @@ class TestMetadata_NoClientsXML(TestMetadataBase): class TestMetadata_ClientsXML(TestMetadataBase): """ test Metadata with a clients.xml. """ - __test__ = True + # only run these tests if it's possible to skip tests or if we + # have django. otherwise they'll all get run because our fake + # skipping decorators for python < 2.7 won't work when they + # decorate setUp() + if can_skip or has_django: + __test__ = True def load_clients_data(self, metadata=None, xdata=None): if metadata is None: diff --git a/testsuite/Testlib/TestServer/TestPlugins/TestProbes.py b/testsuite/Testlib/TestServer/TestPlugins/TestProbes.py index 960697f70..3cff4ac73 100644 --- a/testsuite/Testlib/TestServer/TestPlugins/TestProbes.py +++ b/testsuite/Testlib/TestServer/TestPlugins/TestProbes.py @@ -57,17 +57,15 @@ class TestProbeData(Bcfg2TestCase): self.assertIsNotNone(data.xdata) self.assertIsNotNone(data.xdata.find("test2")) + @skipUnless(has_json, "JSON libraries not found, skipping JSON tests") def test_json(self): - if not has_json: - self.skipTest("JSON libraries not found, skipping JSON tests") jdata = json.dumps(test_data) data = ProbeData(jdata) self.assertIsNotNone(data.json) self.assertItemsEqual(test_data, data.json) + @skipUnless(has_yaml, "YAML libraries not found, skipping YAML tests") def test_yaml(self): - if not has_yaml: - self.skipTest("YAML libraries not found, skipping YAML tests") jdata = yaml.dump(test_data) data = ProbeData(jdata) self.assertIsNotNone(data.yaml) @@ -252,7 +250,7 @@ text "use_database", default=False) - @unittest.skipUnless(has_django, "Django not found, skipping") + @skipUnless(has_django, "Django not found, skipping") @patch("Bcfg2.Server.Plugins.Probes.Probes._write_data_db", Mock()) @patch("Bcfg2.Server.Plugins.Probes.Probes._write_data_xml", Mock()) def test_write_data_xml(self): @@ -261,7 +259,7 @@ text probes._write_data_xml.assert_called_with("test") self.assertFalse(probes._write_data_db.called) - @unittest.skipUnless(has_django, "Django not found, skipping") + @skipUnless(has_django, "Django not found, skipping") @patch("Bcfg2.Server.Plugins.Probes.Probes._write_data_db", Mock()) @patch("Bcfg2.Server.Plugins.Probes.Probes._write_data_xml", Mock()) def test_write_data_db(self): @@ -326,7 +324,7 @@ text self.assertIsNotNone(jdata.get("value")) self.assertItemsEqual(test_data, json.loads(jdata.get("value"))) - @unittest.skipUnless(has_django, "Django not found, skipping") + @skipUnless(has_django, "Django not found, skipping") def test__write_data_db(self): syncdb(TestProbesDB) probes = self.get_probes_object(use_db=True) @@ -378,7 +376,7 @@ text pgroups = ProbesGroupsModel.objects.filter(hostname=cname).all() self.assertEqual(len(pgroups), len(probes.cgroups[cname])) - @unittest.skipUnless(has_django, "Django not found, skipping") + @skipUnless(has_django, "Django not found, skipping") @patch("Bcfg2.Server.Plugins.Probes.Probes._load_data_db", Mock()) @patch("Bcfg2.Server.Plugins.Probes.Probes._load_data_xml", Mock()) def test_load_data_xml(self): @@ -387,7 +385,7 @@ text probes._load_data_xml.assert_any_call() self.assertFalse(probes._load_data_db.called) - @unittest.skipUnless(has_django, "Django not found, skipping") + @skipUnless(has_django, "Django not found, skipping") @patch("Bcfg2.Server.Plugins.Probes.Probes._load_data_db", Mock()) @patch("Bcfg2.Server.Plugins.Probes.Probes._load_data_xml", Mock()) def test_load_data_db(self): @@ -419,7 +417,7 @@ text self.assertItemsEqual(probes.probedata, self.get_test_probedata()) self.assertItemsEqual(probes.cgroups, self.get_test_cgroups()) - @unittest.skipUnless(has_django, "Django not found, skipping") + @skipUnless(has_django, "Django not found, skipping") def test__load_data_db(self): syncdb(TestProbesDB) probes = self.get_probes_object(use_db=True) -- cgit v1.2.3-1-g7c22