"""Test environment util.""" from grass import config from grass.utils import environment def test_environment_selection(monkeypatch): """Test environment selection.""" environments = { 'dev': config.DEV_ENVIRONMENT, 'prod': config.PROD_ENVIRONMENT, 'qa': config.TEST_ENVIRONMENT, } for name, value in environments.items(): monkeypatch.setattr(config, 'environment', value) env_value = f'{name}_value' assert environment.select(**{name: env_value}) == env_value def test_environment_selection_default(monkeypatch): """Test environment selection for default values.""" value = 'value' default = 'default_value' assert environment.select(prod=value, default=default) == default assert not environment.select(dev=value) def test_environment_selection_returns_uat(monkeypatch) -> None: """Test select returns the expected value when Environment=uat.""" monkeypatch.setattr(config, 'environment', 'uat') actual = environment.select(prod='i am prod', qa='you are qa', default='something') assert actual == 'something' actual = environment.select( prod='i am prod', qa='you are qa', uat='this is uat', default='something', ) assert actual == 'this is uat' actual = environment.select() assert actual is None def test_environment_selection_qa_vs_test(monkeypatch) -> None: """Test select behavior of the qa value based on qa or test environment..""" monkeypatch.setattr(config, 'environment', 'qa') actual = environment.select(prod='i am prod', qa='you are qa', default='something') assert actual == 'you are qa' monkeypatch.setattr(config, 'environment', 'test') actual = environment.select(prod='i am prod', qa='you are qa', default='something') assert actual == 'you are qa'