Make sure that there is an environment variable for each parameter with the correct value.
Signed-off-by: Lisa Velden <[email protected]> --- test/py/ganeti.backend_unittest.py | 40 +++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/test/py/ganeti.backend_unittest.py b/test/py/ganeti.backend_unittest.py index 1f05197..dcb4933 100755 --- a/test/py/ganeti.backend_unittest.py +++ b/test/py/ganeti.backend_unittest.py @@ -44,9 +44,9 @@ from ganeti import hypervisor from ganeti import netutils from ganeti import objects from ganeti import pathutils +from ganeti import serializer from ganeti import utils - class TestX509Certificates(unittest.TestCase): def setUp(self): self.tmpdir = tempfile.mkdtemp() @@ -948,5 +948,43 @@ class TestSpaceReportingConstants(unittest.TestCase): self.assertEqual(None, backend._STORAGE_TYPE_INFO_FN[storage_type]) +class TestOSEnvironment(unittest.TestCase): + """Ensures presence of public and private parameters inside + os environment variables""" + + def _create_env(self): + """Creates and returns an environment""" + inst = objects.Instance(name="test.example.com", + uuid="test-uuid", + disks=[], nics=[], + disks_info="", + disk_template=constants.DT_DISKLESS, + primary_node="node.example.com", + os="debian-image", + osparams={"public_param": "public_info"}, + osparams_private= + serializer.PrivateDict({"private_param": + "private_info"}), + secondary_nodes=[], + beparams={}, + hvparams={}) + + # supply required os attributes in a mock object + os_mock = mock.Mock() + os_mock.api_versions = [15] + os_mock.supported_variants = [""] + + return backend.OSEnvironment(inst, os_mock) + + def testParamPresence(self): + env = self._create_env() + self.assertTrue('OSP_PUBLIC_PARAM' in env) + self.assertTrue('OSP_PRIVATE_PARAM' in env) + + def testParamValues(self): + env = self._create_env() + self.assertEqual(env['OSP_PUBLIC_PARAM'], "public_info") + self.assertEqual(env['OSP_PRIVATE_PARAM'], "private_info") + if __name__ == "__main__": testutils.GanetiTestProgram() -- 2.2.0.rc0.207.ga3a616c
