summaryrefslogtreecommitdiffstats
path: root/testsuite/Testsrc/Testlib
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/Testsrc/Testlib')
-rw-r--r--testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py26
-rw-r--r--testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIXUsers.py8
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestBundler.py4
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py15
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestTemplateHelper.py7
5 files changed, 47 insertions, 13 deletions
diff --git a/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py b/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py
index ea4ca3f5f..bbe04a1a3 100644
--- a/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py
+++ b/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/Testbase.py
@@ -481,11 +481,16 @@ class TestPOSIXTool(TestTool):
@skipUnless(HAS_SELINUX, "SELinux not found, skipping")
@patchIf(HAS_SELINUX, "selinux.restorecon")
+ @patchIf(HAS_SELINUX, "selinux.lgetfilecon")
@patchIf(HAS_SELINUX, "selinux.lsetfilecon")
- def test_set_secontext(self, mock_lsetfilecon, mock_restorecon):
+ def test_set_secontext(self, mock_lsetfilecon, mock_lgetfilecon,
+ mock_restorecon):
+ Bcfg2.Options.setup.secontext_ignore = ['dosfs_t']
ptool = self.get_obj()
entry = lxml.etree.Element("Path", name="/etc/foo", type="file")
+ mock_lgetfilecon.return_value = (0, "system_u:object_r:foo_t")
+
# disable selinux for the initial test
Bcfg2.Client.Tools.POSIX.base.HAS_SELINUX = False
self.assertTrue(ptool._set_secontext(entry))
@@ -495,29 +500,46 @@ class TestPOSIXTool(TestTool):
self.assertTrue(ptool._set_secontext(entry))
self.assertFalse(mock_restorecon.called)
self.assertFalse(mock_lsetfilecon.called)
+ self.assertFalse(mock_lgetfilecon.called)
mock_restorecon.reset_mock()
mock_lsetfilecon.reset_mock()
+ mock_lgetfilecon.reset_mock()
entry.set("secontext", "__default__")
self.assertTrue(ptool._set_secontext(entry))
mock_restorecon.assert_called_with(entry.get("name"))
+ mock_lgetfilecon.assert_called_once_with(entry.get("name"))
self.assertFalse(mock_lsetfilecon.called)
mock_restorecon.reset_mock()
mock_lsetfilecon.reset_mock()
+ mock_lgetfilecon.reset_mock()
mock_lsetfilecon.return_value = 0
entry.set("secontext", "foo_t")
self.assertTrue(ptool._set_secontext(entry))
self.assertFalse(mock_restorecon.called)
+ mock_lgetfilecon.assert_called_once_with(entry.get("name"))
mock_lsetfilecon.assert_called_with(entry.get("name"), "foo_t")
mock_restorecon.reset_mock()
mock_lsetfilecon.reset_mock()
+ mock_lgetfilecon.reset_mock()
mock_lsetfilecon.return_value = 1
self.assertFalse(ptool._set_secontext(entry))
self.assertFalse(mock_restorecon.called)
+ mock_lgetfilecon.assert_called_once_with(entry.get("name"))
mock_lsetfilecon.assert_called_with(entry.get("name"), "foo_t")
+ # ignored filesystem
+ mock_restorecon.reset_mock()
+ mock_lsetfilecon.reset_mock()
+ mock_lgetfilecon.reset_mock()
+ mock_lgetfilecon.return_value = (0, "system_u:object_r:dosfs_t")
+ self.assertTrue(ptool._set_secontext(entry))
+ self.assertFalse(mock_restorecon.called)
+ self.assertFalse(mock_lsetfilecon.called)
+ mock_lgetfilecon.assert_called_once_with(entry.get("name"))
+
@patch("grp.getgrnam")
def test_norm_gid(self, mock_getgrnam):
ptool = self.get_obj()
@@ -686,7 +708,7 @@ class TestPOSIXTool(TestTool):
ptool._gather_data = Mock()
entry = lxml.etree.Element("Path", name="/test", type="file",
group="group", owner="user", mode="664",
- secontext='etc_t')
+ secontext='unconfined_u:object_r:etc_t:s0')
# _verify_metadata() mutates the entry, so we keep a backup so we
# can start fresh every time
orig_entry = copy.deepcopy(entry)
diff --git a/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIXUsers.py b/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIXUsers.py
index cc1ea6fd7..08c20981d 100644
--- a/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIXUsers.py
+++ b/testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIXUsers.py
@@ -103,26 +103,26 @@ class TestPOSIXUsers(TestTool):
# test failure of inherited method
entry = lxml.etree.Element("POSIXUser", name="test")
self.assertFalse(users.canInstall(entry))
- mock_canInstall.assertCalledWith(users, entry)
+ mock_canInstall.assert_called_with(users, entry)
# test with no uid specified
reset()
mock_canInstall.return_value = True
self.assertTrue(users.canInstall(entry))
- mock_canInstall.assertCalledWith(users, entry)
+ mock_canInstall.assert_called_with(users, entry)
# test with uid specified, not in managed range
reset()
entry.set("uid", "1000")
self.assertFalse(users.canInstall(entry))
- mock_canInstall.assertCalledWith(users, entry)
+ mock_canInstall.assert_called_with(users, entry)
users._in_managed_range.assert_called_with(entry.tag, "1000")
# test with uid specified, in managed range
reset()
users._in_managed_range.return_value = True
self.assertTrue(users.canInstall(entry))
- mock_canInstall.assertCalledWith(users, entry)
+ mock_canInstall.assert_called_with(users, entry)
users._in_managed_range.assert_called_with(entry.tag, "1000")
@patch("Bcfg2.Client.Tools.Tool.Inventory")
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestBundler.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestBundler.py
index 1bf208c3e..5a8c44cd5 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestBundler.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestBundler.py
@@ -98,7 +98,7 @@ class TestBundler(TestPlugin, TestStructure, TestXMLDirectoryBacked):
lxml.etree.SubElement(expected['indep'], "Service", name="baz")
metadata = Mock()
- metadata.bundles = ["error", "xinclude", "has_dep", "indep"]
+ metadata.bundles = set(["error", "xinclude", "has_dep", "indep"])
metadata.version_info = Bcfg2VersionInfo('1.4.0')
rv = b.BuildStructures(metadata)
@@ -131,7 +131,7 @@ class TestBundler(TestPlugin, TestStructure, TestXMLDirectoryBacked):
lxml.etree.SubElement(expected['has_dep'], "Package", name="foo")
metadata = Mock()
- metadata.bundles = ["has_dep"]
+ metadata.bundles = set(["has_dep"])
metadata.version_info = Bcfg2VersionInfo('1.3.0')
rv = b.BuildStructures(metadata)
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py
index 36baee899..8c7f3c5d7 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py
@@ -29,11 +29,14 @@ class TestPropertyFile(Bcfg2TestCase):
test_obj = PropertyFile
path = os.path.join(datastore, "test")
- def get_obj(self, path=None):
+ def get_obj(self, path=None, core=None, *args, **kwargs):
set_setup_default("writes_enabled", False)
if path is None:
path = self.path
- return self.test_obj(path)
+ if core is None:
+ core = Mock()
+ core.metadata_cache_mode = 'none'
+ return self.test_obj(path, core, *args, **kwargs)
def test_write(self):
pf = self.get_obj()
@@ -97,6 +100,9 @@ class TestJSONPropertyFile(TestFileBacked, TestPropertyFile):
TestFileBacked.setUp(self)
TestPropertyFile.setUp(self)
+ def get_obj(self, *args, **kwargs):
+ return TestPropertyFile.get_obj(self, *args, **kwargs)
+
@patch("%s.loads" % JSON)
def test_Index(self, mock_loads):
pf = self.get_obj()
@@ -137,6 +143,9 @@ class TestYAMLPropertyFile(TestFileBacked, TestPropertyFile):
TestFileBacked.setUp(self)
TestPropertyFile.setUp(self)
+ def get_obj(self, *args, **kwargs):
+ return TestPropertyFile.get_obj(self, *args, **kwargs)
+
@patch("yaml.load")
def test_Index(self, mock_load):
pf = self.get_obj()
@@ -179,7 +188,7 @@ class TestXMLPropertyFile(TestPropertyFile, TestStructFile):
set_setup_default("automatch", False)
def get_obj(self, *args, **kwargs):
- return TestStructFile.get_obj(self, *args, **kwargs)
+ return TestPropertyFile.get_obj(self, *args, **kwargs)
@patch("%s.open" % builtins)
def test__write(self, mock_open):
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestTemplateHelper.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestTemplateHelper.py
index 1c2fa23a2..a470dca67 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestTemplateHelper.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestTemplateHelper.py
@@ -23,10 +23,13 @@ class TestHelperModule(Bcfg2TestCase):
test_obj = HelperModule
path = os.path.join(datastore, "test.py")
- def get_obj(self, path=None):
+ def get_obj(self, path=None, core=None):
if path is None:
path = self.path
- return self.test_obj(path)
+ if core is None:
+ core = Mock()
+ core.metadata_cache_mode = 'none'
+ return self.test_obj(path, core)
def test__init(self):
hm = self.get_obj()