diff --git a/unit_tests/test_zaza_model.py b/unit_tests/test_zaza_model.py index e7e315b..95bd7cb 100644 --- a/unit_tests/test_zaza_model.py +++ b/unit_tests/test_zaza_model.py @@ -134,7 +134,7 @@ class TestModel(ut_utils.BaseTestCase): self.get_current_model.return_value = 'modelsmodel' def _get_env(key): - return _env.get(key) + return _env[key] self.environ.__getitem__.side_effect = _get_env _env = {"JUJU_MODEL": 'envmodel'} @@ -142,6 +142,20 @@ class TestModel(ut_utils.BaseTestCase): self.assertEqual(model.get_juju_model(), 'envmodel') self.get_current_model.assert_not_called() + def test_get_juju_model_alt(self): + self.patch_object(model.os, 'environ') + self.patch_object(model, 'get_current_model') + self.get_current_model.return_value = 'modelsmodel' + + def _get_env(key): + return _env[key] + self.environ.__getitem__.side_effect = _get_env + _env = {"MODEL_NAME": 'envmodel'} + + # JUJU_ENV environment variable set + self.assertEqual(model.get_juju_model(), 'envmodel') + self.get_current_model.assert_not_called() + def test_get_juju_model_noenv(self): self.patch_object(model.os, 'environ') self.patch_object(model, 'get_current_model') diff --git a/zaza/model.py b/zaza/model.py index dccfb3b..863f4d7 100644 --- a/zaza/model.py +++ b/zaza/model.py @@ -51,8 +51,11 @@ def get_juju_model(): # Check the environment CURRENT_MODEL = os.environ["JUJU_MODEL"] except KeyError: - # If unset connect get the current active model - CURRENT_MODEL = get_current_model() + try: + CURRENT_MODEL = os.environ["MODEL_NAME"] + except KeyError: + # If unset connect get the current active model + CURRENT_MODEL = get_current_model() return CURRENT_MODEL