summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-24 14:51:36 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-25 11:58:48 -0400
commit3f16355e18cdceb37828a00a8181d9cc60815cd0 (patch)
treee2b38114e0a06d3c7b28ad4ef5c15793e21eb2b3
parent47aebb16f15fe6f8ce29d8c6b105f10d8d64c295 (diff)
downloadbcfg2-3f16355e18cdceb37828a00a8181d9cc60815cd0.tar.gz
bcfg2-3f16355e18cdceb37828a00a8181d9cc60815cd0.tar.bz2
bcfg2-3f16355e18cdceb37828a00a8181d9cc60815cd0.zip
fixed tests for pylint changes
-rw-r--r--src/lib/Bcfg2/Client/Tools/POSIX/base.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Metadata.py26
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Probes.py7
-rw-r--r--testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py78
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py6
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py6
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py5
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py57
-rw-r--r--testsuite/Testsrc/test_code_checks.py (renamed from testsuite/Testsrc/testmisc.py)0
9 files changed, 85 insertions, 102 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/POSIX/base.py b/src/lib/Bcfg2/Client/Tools/POSIX/base.py
index 6e7eb70b0..94a490fda 100644
--- a/src/lib/Bcfg2/Client/Tools/POSIX/base.py
+++ b/src/lib/Bcfg2/Client/Tools/POSIX/base.py
@@ -516,6 +516,8 @@ class POSIXTool(Bcfg2.Client.Tools.Tool):
if val is not None:
entry.set(attr, str(val))
+ print "about to verify acls; errors=%s" % errors
+
return self._verify_acls(entry, path=path) and len(errors) == 0
def _list_entry_acls(self, entry):
diff --git a/src/lib/Bcfg2/Server/Plugins/Metadata.py b/src/lib/Bcfg2/Server/Plugins/Metadata.py
index e0904339f..468d1f190 100644
--- a/src/lib/Bcfg2/Server/Plugins/Metadata.py
+++ b/src/lib/Bcfg2/Server/Plugins/Metadata.py
@@ -1,6 +1,5 @@
-"""
-This file stores persistent metadata for the Bcfg2 Configuration Repository.
-"""
+""" This file stores persistent metadata for the Bcfg2 Configuration
+Repository. """
import re
import os
@@ -15,7 +14,7 @@ import Bcfg2.Server
import Bcfg2.Server.Lint
import Bcfg2.Server.Plugin
import Bcfg2.Server.FileMonitor
-from Bcfg2.Compat import MutableMapping, all
+from Bcfg2.Compat import MutableMapping, all # pylint: disable=W0622
from Bcfg2.version import Bcfg2VersionInfo
try:
@@ -26,6 +25,7 @@ except ImportError:
logger = logging.getLogger(__name__)
+
def locked(fd):
"""Aquire a lock on a file"""
try:
@@ -104,13 +104,17 @@ class XMLMetadataConfig(Bcfg2.Server.Plugin.XMLFileBacked):
self.pseudo_monitor = isinstance(metadata.core.fam,
Bcfg2.Server.FileMonitor.Pseudo)
- @property
- def xdata(self): # pylint: disable=E0202
+ def _get_xdata(self):
if not self.data:
raise Bcfg2.Server.Plugin.MetadataRuntimeError("%s has no data" %
self.basefile)
return self.data
+ def _set_xdata(self, val):
+ self.data = val
+
+ xdata = property(_get_xdata, _set_xdata)
+
@property
def base_xdata(self):
if not self.basedata:
@@ -738,11 +742,7 @@ class Metadata(Bcfg2.Server.Plugin.Metadata,
# clear the entire cache when we get an event for any
# metadata file
self.core.metadata_cache.expire()
- try:
- proc = getattr(self, "_handle_%s_event" % aname)
- except AttributeError:
- proc = self._handle_default_event # pylint: disable=E1101
- proc(event)
+ getattr(self, "_handle_%s_event" % aname)(event)
if False not in list(self.states.values()) and self.debug_flag:
# check that all groups are real and complete. this is
@@ -853,8 +853,8 @@ class Metadata(Bcfg2.Server.Plugin.Metadata,
address = addresspair[0]
if address in self.addresses:
if len(self.addresses[address]) != 1:
- err = "Address %s has multiple reverse assignments; a " + \
- "uuid must be used" % address
+ err = ("Address %s has multiple reverse assignments; a "
+ "uuid must be used" % address)
self.logger.error(err)
raise Bcfg2.Server.Plugin.MetadataConsistencyError(err)
return self.addresses[address][0]
diff --git a/src/lib/Bcfg2/Server/Plugins/Probes.py b/src/lib/Bcfg2/Server/Plugins/Probes.py
index 58723e392..49e3b5e63 100644
--- a/src/lib/Bcfg2/Server/Plugins/Probes.py
+++ b/src/lib/Bcfg2/Server/Plugins/Probes.py
@@ -13,6 +13,7 @@ import Bcfg2.Server.Plugin
# pylint: disable=F0401
try:
from django.db import models
+ HAS_DJANGO = True
class ProbesDataModel(models.Model,
Bcfg2.Server.Plugin.PluginDatabaseModel):
@@ -28,7 +29,7 @@ try:
hostname = models.CharField(max_length=255)
group = models.CharField(max_length=255)
except ImportError:
- pass
+ HAS_DJANGO = False
try:
import json
@@ -72,8 +73,8 @@ class ProbeData(str):
def __new__(cls, data):
return str.__new__(cls, data)
- def __init__(self):
- str.__init__(self)
+ def __init__(self, data):
+ str.__init__(self, data)
self._xdata = None
self._json = None
self._yaml = None
diff --git a/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py b/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py
index b447ab642..bcb1d16af 100644
--- a/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py
+++ b/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py
@@ -23,15 +23,15 @@ from common import XI_NAMESPACE, XI, inPy3k, call, builtins, u, can_skip, \
try:
import selinux
- has_selinux = True
+ HAS_SELINUX = True
except ImportError:
- has_selinux = False
+ HAS_SELINUX = False
try:
import posix1e
- has_acls = True
+ HAS_ACLS = True
except ImportError:
- has_acls = False
+ HAS_ACLS = False
class TestPOSIXTool(Bcfg2TestCase):
test_obj = POSIXTool
@@ -298,9 +298,9 @@ class TestPOSIXTool(Bcfg2TestCase):
mock_set_secontext.assert_called_with(entry, path=entry.get("name"))
mock_set_acls.assert_called_with(entry, path=entry.get("name"))
- @skipUnless(has_acls, "ACLS not found, skipping")
- @patchIf(has_acls, "posix1e.ACL")
- @patchIf(has_acls, "posix1e.Entry")
+ @skipUnless(HAS_ACLS, "ACLS not found, skipping")
+ @patchIf(HAS_ACLS, "posix1e.ACL")
+ @patchIf(HAS_ACLS, "posix1e.Entry")
@patch("os.path.isdir")
@patch("Bcfg2.Client.Tools.POSIX.base.%s._norm_uid" % test_obj.__name__)
@patch("Bcfg2.Client.Tools.POSIX.base.%s._norm_gid" % test_obj.__name__)
@@ -311,9 +311,9 @@ class TestPOSIXTool(Bcfg2TestCase):
entry = lxml.etree.Element("Path", name="/etc/foo", type="file")
# disable acls for the initial test
- Bcfg2.Client.Tools.POSIX.base.has_acls = False
+ Bcfg2.Client.Tools.POSIX.base.HAS_ACLS = False
self.assertTrue(self.ptool._set_acls(entry))
- Bcfg2.Client.Tools.POSIX.base.has_acls = True
+ Bcfg2.Client.Tools.POSIX.base.HAS_ACLS = True
# build a set of file ACLs to return from posix1e.ACL(file=...)
file_acls = []
@@ -442,16 +442,16 @@ class TestPOSIXTool(Bcfg2TestCase):
self.assertItemsEqual(added_acls,
[(fileacl_rv, posix1e.ACL_GROUP, 100, 5)])
- @skipUnless(has_selinux, "SELinux not found, skipping")
- @patchIf(has_selinux, "selinux.restorecon")
- @patchIf(has_selinux, "selinux.lsetfilecon")
+ @skipUnless(HAS_SELINUX, "SELinux not found, skipping")
+ @patchIf(HAS_SELINUX, "selinux.restorecon")
+ @patchIf(HAS_SELINUX, "selinux.lsetfilecon")
def test_set_secontext(self, mock_lsetfilecon, mock_restorecon):
entry = lxml.etree.Element("Path", name="/etc/foo", type="file")
# disable selinux for the initial test
- Bcfg2.Client.Tools.POSIX.base.has_selinux = False
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = False
self.assertTrue(self.ptool._set_secontext(entry))
- Bcfg2.Client.Tools.POSIX.base.has_selinux = True
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = True
# no context given
self.assertTrue(self.ptool._set_secontext(entry))
@@ -568,36 +568,36 @@ class TestPOSIXTool(Bcfg2TestCase):
# disable selinux and acls for this call -- we test them
# separately so that we can skip those tests as appropriate
- states = (Bcfg2.Client.Tools.POSIX.base.has_selinux,
- Bcfg2.Client.Tools.POSIX.base.has_acls)
- Bcfg2.Client.Tools.POSIX.base.has_selinux = False
- Bcfg2.Client.Tools.POSIX.base.has_acls = False
+ states = (Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX,
+ Bcfg2.Client.Tools.POSIX.base.HAS_ACLS)
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = False
+ Bcfg2.Client.Tools.POSIX.base.HAS_ACLS = False
self.assertEqual(self.ptool._gather_data(path),
(stat_rv, '0', '10', '0660', None, None))
- Bcfg2.Client.Tools.POSIX.base.has_selinux, \
- Bcfg2.Client.Tools.POSIX.base.has_acls = states
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX, \
+ Bcfg2.Client.Tools.POSIX.base.HAS_ACLS = states
mock_stat.assert_called_with(path)
- @skipUnless(has_selinux, "SELinux not found, skipping")
+ @skipUnless(HAS_SELINUX, "SELinux not found, skipping")
def test__gather_data_selinux(self):
context = 'system_u:object_r:root_t:s0'
path = '/test'
@patch('os.stat')
- @patchIf(has_selinux, "selinux.getfilecon")
+ @patchIf(HAS_SELINUX, "selinux.getfilecon")
def inner(mock_getfilecon, mock_stat):
mock_getfilecon.return_value = [len(context) + 1, context]
mock_stat.return_value = MagicMock()
# disable acls for this call and test them separately
- state = Bcfg2.Client.Tools.POSIX.base.has_acls
- Bcfg2.Client.Tools.POSIX.base.has_acls = False
+ state = Bcfg2.Client.Tools.POSIX.base.HAS_ACLS
+ Bcfg2.Client.Tools.POSIX.base.HAS_ACLS = False
self.assertEqual(self.ptool._gather_data(path)[4], 'root_t')
- Bcfg2.Client.Tools.POSIX.base.has_acls = state
+ Bcfg2.Client.Tools.POSIX.base.HAS_ACLS = state
mock_getfilecon.assert_called_with(path)
inner()
- @skipUnless(has_acls, "ACLS not found, skipping")
+ @skipUnless(HAS_ACLS, "ACLS not found, skipping")
@patch('os.stat')
@patch("Bcfg2.Client.Tools.POSIX.base.%s._list_file_acls" %
test_obj.__name__)
@@ -608,13 +608,13 @@ class TestPOSIXTool(Bcfg2TestCase):
path = '/test'
mock_stat.return_value = MagicMock()
# disable selinux for this call and test it separately
- state = Bcfg2.Client.Tools.POSIX.base.has_selinux
- Bcfg2.Client.Tools.POSIX.base.has_selinux = False
+ state = Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = False
self.assertItemsEqual(self.ptool._gather_data(path)[5], acls)
- Bcfg2.Client.Tools.POSIX.base.has_selinux = state
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = state
mock_list_file_acls.assert_called_with(path)
- @patchIf(has_selinux, "selinux.matchpathcon")
+ @patchIf(HAS_SELINUX, "selinux.matchpathcon")
@patch("Bcfg2.Client.Tools.POSIX.base.%s._verify_acls" % test_obj.__name__)
@patch("Bcfg2.Client.Tools.POSIX.base.%s._gather_data" % test_obj.__name__)
@patch("Bcfg2.Client.Tools.POSIX.base.%s._norm_entry_uid" %
@@ -667,8 +667,8 @@ class TestPOSIXTool(Bcfg2TestCase):
# test when secontext is None
entry = reset()
gather_data_rv[4] = None
- sestate = Bcfg2.Client.Tools.POSIX.base.has_selinux
- Bcfg2.Client.Tools.POSIX.base.has_selinux = False
+ sestate = Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = False
mock_gather_data.return_value = tuple(gather_data_rv)
self.assertTrue(self.ptool._verify_metadata(entry))
mock_gather_data.assert_called_with(entry.get("name"))
@@ -677,7 +677,7 @@ class TestPOSIXTool(Bcfg2TestCase):
for attr, idx, val in expected:
if attr != 'current_secontext':
self.assertEqual(entry.get(attr), val)
- Bcfg2.Client.Tools.POSIX.base.has_selinux = sestate
+ Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = sestate
gather_data_rv = [MagicMock(), None, None, None, None, []]
for attr, idx, val in expected:
@@ -704,7 +704,7 @@ class TestPOSIXTool(Bcfg2TestCase):
failures = [('current_owner', 1, '10'),
('current_group', 2, '100'),
('current_perms', 3, '0660')]
- if has_selinux:
+ if HAS_SELINUX:
failures.append(('current_secontext', 4, 'root_t'))
for fail_attr, fail_idx, fail_val in failures:
@@ -743,7 +743,7 @@ class TestPOSIXTool(Bcfg2TestCase):
self.assertEqual(entry.get(attr), val)
self.assertEqual(entry.get("current_mtime"), str(fail_mtime))
- if has_selinux:
+ if HAS_SELINUX:
# test success and failure for __default__ secontext
entry = reset()
entry.set("mtime", str(mtime))
@@ -782,7 +782,7 @@ class TestPOSIXTool(Bcfg2TestCase):
self.assertEqual(entry.get(attr), val)
self.assertEqual(entry.get("current_mtime"), str(mtime))
- @skipUnless(has_acls, "ACLS not found, skipping")
+ @skipUnless(HAS_ACLS, "ACLS not found, skipping")
def test_list_entry_acls(self):
entry = lxml.etree.Element("Path", name="/test", type="file")
lxml.etree.SubElement(entry, "ACL", scope="user", type="default",
@@ -793,7 +793,7 @@ class TestPOSIXTool(Bcfg2TestCase):
{("default", posix1e.ACL_USER, "user"): 7,
("access", posix1e.ACL_GROUP, "group"): 5})
- @skipUnless(has_acls, "ACLS not found, skipping")
+ @skipUnless(HAS_ACLS, "ACLS not found, skipping")
@patch("pwd.getpwuid")
@patch("grp.getgrgid")
@patch("os.path.isdir")
@@ -878,7 +878,7 @@ class TestPOSIXTool(Bcfg2TestCase):
self.assertItemsEqual(mock_ACL.call_args_list,
[call(file=path), call(filedef=path)])
- if has_acls:
+ if HAS_ACLS:
# python 2.6 applies decorators at compile-time, not at
# run-time, so we can't do these as decorators because
# pylibacl might not be installed. (If it's not, this test
@@ -886,7 +886,7 @@ class TestPOSIXTool(Bcfg2TestCase):
# we're safe.)
test_list_file_acls = patch("posix1e.ACL")(test_list_file_acls)
- @skipUnless(has_acls, "ACLS not found, skipping")
+ @skipUnless(HAS_ACLS, "ACLS not found, skipping")
@patch("Bcfg2.Client.Tools.POSIX.base.%s._list_file_acls" %
test_obj.__name__)
@patch("Bcfg2.Client.Tools.POSIX.base.%s._list_entry_acls" %
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py
index aea00c356..f555d15f1 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py
@@ -81,7 +81,7 @@ class TestFunctions(Bcfg2TestCase):
class TestDatabaseBacked(TestPlugin):
test_obj = DatabaseBacked
- @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
@@ -93,7 +93,7 @@ class TestDatabaseBacked(TestPlugin):
db = self.get_obj(core)
self.assertFalse(db._use_db)
- Bcfg2.Server.Plugin.helpers.has_django = False
+ Bcfg2.Server.Plugin.helpers.HAS_DJANGO = False
core = Mock()
db = self.get_obj(core)
self.assertFalse(db._use_db)
@@ -102,7 +102,7 @@ class TestDatabaseBacked(TestPlugin):
core.setup.cfp.getboolean.return_value = True
db = self.get_obj(core)
self.assertFalse(db._use_db)
- Bcfg2.Server.Plugin.helpers.has_django = True
+ Bcfg2.Server.Plugin.helpers.HAS_DJANGO = True
class TestPluginDatabaseModel(Bcfg2TestCase):
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py
index 1c0af33eb..f05795b1a 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py
@@ -129,7 +129,7 @@ class TestThreadedStatistics(TestStatistics):
queue.empty = Mock(side_effect=Empty)
ts.work_queue = queue
- mock_open.side_effect = OSError
+ mock_open.side_effect = IOError
# test that save does _not_ raise an exception even when
# everything goes pear-shaped
ts._save()
@@ -188,7 +188,7 @@ class TestThreadedStatistics(TestStatistics):
reset()
mock_exists.return_value = True
- mock_open.side_effect = OSError
+ mock_open.side_effect = IOError
self.assertFalse(ts._load())
mock_exists.assert_called_with(ts.pending_file)
mock_open.assert_called_with(ts.pending_file, 'r')
@@ -330,7 +330,7 @@ class TestVersion(Bcfg2TestCase):
test_obj = Version
def get_obj(self):
- return self.test_obj()
+ return self.test_obj(datastore)
def test_get_revision(self):
d = self.get_obj()
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py
index 9646ee66d..2aebb0705 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py
@@ -1458,14 +1458,13 @@ class TestMetadata_ClientsXML(TestMetadataBase):
# decorate setUp()
if can_skip or has_django:
__test__ = True
-
+
def load_clients_data(self, metadata=None, xdata=None):
if metadata is None:
metadata = self.get_obj()
metadata.core.fam = Mock()
- metadata._handle_file("clients.xml")
+ metadata.clients_xml = metadata._handle_file("clients.xml")
metadata = TestMetadata.load_clients_data(self, metadata=metadata,
xdata=xdata)
return TestMetadataBase.load_clients_data(self, metadata=metadata,
xdata=xdata)
-
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py
index 4b020dcff..34b2a0f0e 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py
@@ -30,7 +30,7 @@ class FakeList(list):
class TestProbesDB(DBModelTestCase):
- if has_django:
+ if HAS_DJANGO:
models = [ProbesGroupsModel, ProbesDataModel]
@@ -69,13 +69,14 @@ 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):
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")
+ @skipUnless(HAS_YAML, "YAML libraries not found, skipping YAML tests")
def test_yaml(self):
jdata = yaml.dump(test_data)
data = ProbeData(jdata)
@@ -107,32 +108,10 @@ class TestProbeSet(TestEntrySet):
fam.AddMonitor.assert_called_with(datastore, ps)
TestEntrySet.test__init(self)
- def test_HandleEvent(self):
- ps = self.get_obj()
- ps.handle_event = Mock()
-
- # test that events on the data store itself are skipped
- evt = Mock()
- evt.filename = datastore
- ps.HandleEvent(evt)
- self.assertFalse(ps.handle_event.called)
-
- # test that events on probed.xml are skipped
- evt.reset_mock()
- evt.filename = "probed.xml"
- ps.HandleEvent(evt)
- self.assertFalse(ps.handle_event.called)
-
- # test that other events are processed appropriately
- evt.reset_mock()
- evt.filename = "fooprobe"
- ps.HandleEvent(evt)
- ps.handle_event.assert_called_with(evt)
-
@patch("%s.list" % builtins, FakeList)
def test_get_probe_data(self):
ps = self.get_obj()
-
+
# build some fairly complex test data for this. in the end,
# we want the probe data to include only the most specific
# version of a given probe, and by basename only, not full
@@ -220,8 +199,9 @@ text
""")
rv["bar.example.com"] = ClientProbeDataSet(timestamp=time.time())
rv["bar.example.com"]["empty"] = ProbeData("")
- rv["bar.example.com"]["json"] = ProbeData(json.dumps(test_data))
- if has_yaml:
+ if HAS_JSON:
+ rv["bar.example.com"]["json"] = ProbeData(json.dumps(test_data))
+ if HAS_YAML:
rv["bar.example.com"]["yaml"] = ProbeData(yaml.dump(test_data))
return rv
@@ -268,7 +248,7 @@ text
"use_database",
default=False)
- @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):
@@ -277,7 +257,7 @@ text
probes._write_data_xml.assert_called_with("test")
self.assertFalse(probes._write_data_db.called)
- @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):
@@ -331,17 +311,18 @@ text
self.assertIsNotNone(empty)
self.assertIsNotNone(empty.get("value"))
self.assertEqual(empty.get("value"), "")
- jdata = bardata.find("Probe[@name='json']")
- self.assertIsNotNone(jdata)
- self.assertIsNotNone(jdata.get("value"))
- self.assertItemsEqual(test_data, json.loads(jdata.get("value")))
- if has_yaml:
+ if HAS_JSON:
+ jdata = bardata.find("Probe[@name='json']")
+ self.assertIsNotNone(jdata)
+ self.assertIsNotNone(jdata.get("value"))
+ self.assertItemsEqual(test_data, json.loads(jdata.get("value")))
+ if HAS_YAML:
ydata = bardata.find("Probe[@name='yaml']")
self.assertIsNotNone(ydata)
self.assertIsNotNone(ydata.get("value"))
self.assertItemsEqual(test_data, yaml.load(ydata.get("value")))
- @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)
@@ -393,7 +374,7 @@ text
pgroups = ProbesGroupsModel.objects.filter(hostname=cname).all()
self.assertEqual(len(pgroups), len(probes.cgroups[cname]))
- @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):
@@ -402,7 +383,7 @@ text
probes._load_data_xml.assert_any_call()
self.assertFalse(probes._load_data_db.called)
- @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):
@@ -434,7 +415,7 @@ text
self.assertItemsEqual(probes.probedata, self.get_test_probedata())
self.assertItemsEqual(probes.cgroups, self.get_test_cgroups())
- @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)
diff --git a/testsuite/Testsrc/testmisc.py b/testsuite/Testsrc/test_code_checks.py
index 41a91caff..41a91caff 100644
--- a/testsuite/Testsrc/testmisc.py
+++ b/testsuite/Testsrc/test_code_checks.py