From 69292ec4022534f6987f1d67d4aefb07a983c38d Mon Sep 17 00:00:00 2001 From: Jesse Jaggars Date: Thu, 23 Feb 2012 12:25:02 -0600 Subject: refactoring common linux-related policy features into a common superclass, simplifying specification of valid plugin subclasses --- tests/policy_tests.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tests/policy_tests.py (limited to 'tests/policy_tests.py') diff --git a/tests/policy_tests.py b/tests/policy_tests.py new file mode 100644 index 00000000..1c192bdf --- /dev/null +++ b/tests/policy_tests.py @@ -0,0 +1,45 @@ +import unittest + +from sos.policies import Policy +from sos.plugins import Plugin, IndependentPlugin, RedHatPlugin, DebianPlugin + +class FauxPolicy(Policy): + distro = "Faux" + +class FauxPlugin(Plugin, IndependentPlugin): + pass + +class FauxRedHatPlugin(Plugin, RedHatPlugin): + pass + +class FauxDebianPlugin(Plugin, DebianPlugin): + pass + +class PolicyTests(unittest.TestCase): + + def test_independent_only(self): + p = FauxPolicy() + p.valid_subclasses = [] + + self.assertTrue(p.validatePlugin(FauxPlugin)) + + def test_redhat(self): + p = FauxPolicy() + p.valid_subclasses = [RedHatPlugin] + + self.assertTrue(p.validatePlugin(FauxRedHatPlugin)) + + def test_debian(self): + p = FauxPolicy() + p.valid_subclasses = [DebianPlugin] + + self.assertTrue(p.validatePlugin(FauxDebianPlugin)) + + def test_fails(self): + p = FauxPolicy() + p.valid_subclasses = [] + + self.assertFalse(p.validatePlugin(FauxDebianPlugin)) + +if __name__ == "__main__": + unittest.main() -- cgit From 048ccc0f30357ec2dfc1ddae09a758960ca5c041 Mon Sep 17 00:00:00 2001 From: Jesse Jaggars Date: Thu, 23 Feb 2012 13:27:11 -0600 Subject: adding more tests and fixing an error with tar archives --- tests/policy_tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests/policy_tests.py') diff --git a/tests/policy_tests.py b/tests/policy_tests.py index 1c192bdf..2654c82c 100644 --- a/tests/policy_tests.py +++ b/tests/policy_tests.py @@ -1,6 +1,6 @@ import unittest -from sos.policies import Policy +from sos.policies import Policy, import_policy from sos.plugins import Plugin, IndependentPlugin, RedHatPlugin, DebianPlugin class FauxPolicy(Policy): @@ -41,5 +41,11 @@ class PolicyTests(unittest.TestCase): self.assertFalse(p.validatePlugin(FauxDebianPlugin)) + def test_can_import(self): + self.assertTrue(import_policy('redhat') is not None) + + def test_cant_import(self): + self.assertTrue(import_policy('notreal') is None) + if __name__ == "__main__": unittest.main() -- cgit