import os import unittest try: # pragma: nocover from ansible_collections.sebastian.systemd.plugins.module_utils.generic import Types except ImportError: # pragma: nocover import sys sys.path.append("plugins/module_utils") from generic import Types class TestTypes(unittest.TestCase): """tests the Types class""" def testsimpletype(self): """this tests if an simple type is correctly build""" output = Types.str(required=True, help="test", choices=("a", "1"), default="1") self.assertIn("type", output) self.assertIn("required", output) self.assertIn("default", output) self.assertIn("choices", output) self.assertEquals(output["type"], "str") self.assertEquals(Types.str.__name__, "str") self.assertEquals(output["required"], True) self.assertEquals(output["default"], "1") self.assertTupleEqual(output["choices"], ("a", "1")) Types.str() def testlisttype(self): """this tests if the special type list is correctly build""" output = Types.list(str) Types.list("str") self.assertIn("type", output) self.assertIn("elements", output) self.assertIn("required", output) self.assertEquals(output["type"], "list") self.assertEquals(output["required"], False) self.assertEquals(output["elements"], "str")