From 063aadd4df480fb474fcbbc1ab386682321a57a6 Mon Sep 17 00:00:00 2001 From: Chris MacNaughton Date: Wed, 20 Jun 2018 17:04:11 +0200 Subject: [PATCH 1/3] add MODEL_NAME variable to determine model --- zaza/model.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zaza/model.py b/zaza/model.py index dccfb3b..9448075 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 From 57ee4a3662c54e8c0f57b57c153371e5e622174b Mon Sep 17 00:00:00 2001 From: Chris MacNaughton Date: Wed, 20 Jun 2018 17:09:34 +0200 Subject: [PATCH 2/3] syntax fix and add unit test --- unit_tests/test_zaza_model.py | 14 ++++++++++++++ zaza/model.py | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/unit_tests/test_zaza_model.py b/unit_tests/test_zaza_model.py index e7e315b..0b8e37f 100644 --- a/unit_tests/test_zaza_model.py +++ b/unit_tests/test_zaza_model.py @@ -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.get(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 9448075..863f4d7 100644 --- a/zaza/model.py +++ b/zaza/model.py @@ -52,7 +52,7 @@ def get_juju_model(): CURRENT_MODEL = os.environ["JUJU_MODEL"] except KeyError: try: - CURRENT_MODEL = os.environ["MODEL_NAME"]: + CURRENT_MODEL = os.environ["MODEL_NAME"] except KeyError: # If unset connect get the current active model CURRENT_MODEL = get_current_model() From c13ea8f282302714fc9ddfd0561eab24d01817f3 Mon Sep 17 00:00:00 2001 From: Chris MacNaughton Date: Wed, 20 Jun 2018 17:24:21 +0200 Subject: [PATCH 3/3] .get will never throw the exception we expect on mismatch --- unit_tests/test_zaza_model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unit_tests/test_zaza_model.py b/unit_tests/test_zaza_model.py index 0b8e37f..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'} @@ -148,7 +148,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 = {"MODEL_NAME": 'envmodel'}