From 09e510adfa71985c6dec8fb501fa3b18b7b28649 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 18 Sep 2012 08:25:12 -0400 Subject: SEModules: fixed handling of module names again --- .../TestServer/TestPlugins/TestSEModules.py | 50 ++++++++++++---------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'testsuite/Testsrc') diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestSEModules.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestSEModules.py index bf9ef681a..b13a6b3fb 100644 --- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestSEModules.py +++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestSEModules.py @@ -1,7 +1,6 @@ import os import sys import lxml.etree -import Bcfg2.Server.Plugin from Bcfg2.Compat import b64encode from mock import Mock, MagicMock, patch from Bcfg2.Server.Plugins.SEModules import * @@ -41,11 +40,17 @@ class TestSEModules(TestGroupSpool): modules = self.get_obj() for mname in ["foo", "foo.pp"]: entry = lxml.etree.Element("SELinux", type="module", name=mname) - self.assertEqual(modules._get_module_name(entry), "foo.pp") + self.assertEqual(modules._get_module_name(entry), "foo") - @patch("Bcfg2.Server.Plugins.SEModules.SEModules._get_module_name") - def test_HandlesEntry(self, mock_get_name): + def test__get_module_filename(self): modules = self.get_obj() + for mname in ["foo", "foo.pp"]: + entry = lxml.etree.Element("SELinux", type="module", name=mname) + self.assertEqual(modules._get_module_filename(entry), "/foo.pp") + + def test_HandlesEntry(self): + modules = self.get_obj() + modules._get_module_filename = Mock() modules.Entries['SELinux']['/foo.pp'] = Mock() modules.Entries['SELinux']['/bar.pp'] = Mock() for el in [lxml.etree.Element("Path", name="foo.pp"), @@ -53,58 +58,59 @@ class TestSEModules(TestGroupSpool): name="foo.pp"), lxml.etree.Element("SELinux", type="module", name="baz.pp")]: - mock_get_name.return_value = el.get("name") + modules._get_module_filename.return_value = "/" + el.get("name") self.assertFalse(modules.HandlesEntry(el, Mock())) if el.get("type") == "module": - mock_get_name.assert_called_with(el) + modules._get_module_filename.assert_called_with(el) for el in [lxml.etree.Element("SELinux", type="module", name="foo.pp"), lxml.etree.Element("SELinux", type="module", name="bar.pp")]: - mock_get_name.return_value = el.get("name") + modules._get_module_filename.return_value = "/" + el.get("name") self.assertTrue(modules.HandlesEntry(el, Mock()), msg="SEModules fails to handle %s" % el.get("name")) - mock_get_name.assert_called_with(el) + modules._get_module_filename.assert_called_with(el) TestGroupSpool.test_HandlesEntry(self) - @patch("Bcfg2.Server.Plugins.SEModules.SEModules._get_module_name") - def test_HandleEntry(self, mock_get_name): + def test_HandleEntry(self): modules = self.get_obj() + modules._get_module_name = Mock() handler = Mock() modules.Entries['SELinux']['/foo.pp'] = handler - mock_get_name.return_value = "foo.pp" - + modules._get_module_name.return_value = "foo" + entry = lxml.etree.Element("SELinux", type="module", name="foo") metadata = Mock() self.assertEqual(modules.HandleEntry(entry, metadata), handler.return_value) - mock_get_name.assert_called_with(entry) - self.assertEqual(entry.get("name"), mock_get_name.return_value) + modules._get_module_name.assert_called_with(entry) + self.assertEqual(entry.get("name"), + modules._get_module_name.return_value) handler.assert_called_with(entry, metadata) TestGroupSpool.test_HandlesEntry(self) def test_add_entry(self): - @patch("%s.%s.event_path" % - (self.test_obj.__module__, self.test_obj.__name__)) @patch("%s.%s.add_entry" % (self.test_obj.__base__.__module__, self.test_obj.__base__.__name__)) - def inner(mock_add_entry, mock_event_path): + def inner(mock_add_entry): modules = self.get_obj() + modules.event_path = Mock() evt = Mock() evt.filename = "test.pp.G10_foo" - mock_event_path.return_value = os.path.join(datastore, - self.test_obj.__name__, - "test.pp", - "test.pp.G10_foo") + modules.event_path.return_value = \ + os.path.join(datastore, + self.test_obj.__name__, + "test.pp", + "test.pp.G10_foo") modules.add_entry(evt) self.assertEqual(modules.filename_pattern, "test.pp") mock_add_entry.assert_called_with(modules, evt) - mock_event_path.assert_called_with(evt) + modules.event_path.assert_called_with(evt) inner() TestGroupSpool.test_add_entry(self) -- cgit v1.2.3-1-g7c22