def test_refresh_kubeconfig_invalid_setting(tmp_working_dir_empty_conf, caplog): # noqa: D103 paths = tmp_working_dir_empty_conf stack_config_b = paths[ "conf_dir"] / "testaccount_testenvironment_testregion_teststack.yml" stack_config_b.write_text( textwrap.dedent(""" --- gcp: general: mode: adc-user project: &gcp_project testproject gke: - nae: gke-testproject2 zone: europe-west1-b refresh_kubeconfig: invalid terraform: vars: client_name: claranet """)) with pytest.raises(SystemExit): tfwrapper.load_stack_config( paths["conf_dir"], "testaccount", "testenvironment", "testregion", "teststack", ) assert "Or('always', 'never') did not validate 'invalid'" in caplog.text
def test_stack_config_parsing_extended_custom_provider( # noqa: D103 tmp_working_dir_empty_conf, ): paths = tmp_working_dir_empty_conf stack_config = paths["conf_dir"] / "testaccount_testenvironment_testregion_teststack.yml" stack_config.write_text( textwrap.dedent( """ --- terraform: vars: client_name: claranet version: 0.11.14 custom-providers: claranet/terraform-provider-gitlab: '2.1' custom/terraform-custom-provider: version: '1.1.1' extension: 'tar.gz' """ ) ) expected_stack_result = { "terraform": { "custom-providers": { "claranet/terraform-provider-gitlab": "2.1", "custom/terraform-custom-provider": {"version": "1.1.1", "extension": "tar.gz"}, }, "vars": {"client_name": "claranet", "version": "0.11.14"}, } } stack_config = tfwrapper.load_stack_config(paths["conf_dir"], "testaccount", "testenvironment", "testregion", "teststack") assert stack_config == expected_stack_result
def test_stack_config_parsing_invalid_custom_provider_missing_version(tmp_working_dir_empty_conf, caplog): # noqa: D103 paths = tmp_working_dir_empty_conf stack_config = paths["conf_dir"] / "testaccount_testenvironment_testregion_teststack.yml" stack_config.write_text( textwrap.dedent( """ --- terraform: vars: client_name: claranet version: 0.11.14 custom-providers: claranet/terraform-provider-gitlab: '2.1' custom/terraform-custom-provider: extension: '.zip' """ ) ) with pytest.raises(SystemExit): stack_config = tfwrapper.load_stack_config( paths["conf_dir"], "testaccount", "testenvironment", "testregion", "teststack", ) assert "Missing key: 'version'" in caplog.text
def test_refresh_kubeconfig_setting(tmp_working_dir_empty_conf): # noqa: D103 paths = tmp_working_dir_empty_conf stack_config = paths[ "conf_dir"] / "testaccount_testenvironment_testregion_teststack.yml" stack_config.write_text( textwrap.dedent(""" --- gcp: general: mode: adc-user project: &gcp_project testproject gke: - name: gke-testproject zone: europe-west1-b terraform: vars: client_name: claranet """)) expected_stack_result = { "gcp": { "general": { "mode": "adc-user", "project": "testproject" }, "gke": [{ "name": "gke-testproject", "zone": "europe-west1-b" }], }, "terraform": { "vars": { "client_name": "claranet" } }, } parsed_stack_config = tfwrapper.load_stack_config(paths["conf_dir"], "testaccount", "testenvironment", "testregion", "teststack") assert parsed_stack_config == expected_stack_result stack_config.write_text( textwrap.dedent(""" --- gcp: general: mode: adc-user project: &gcp_project testproject gke: - name: gke-testproject zone: europe-west1-b refresh_kubeconfig: always terraform: vars: client_name: claranet """)) expected_stack_result = { "gcp": { "general": { "mode": "adc-user", "project": "testproject" }, "gke": [{ "name": "gke-testproject", "zone": "europe-west1-b", "refresh_kubeconfig": "always" }], }, "terraform": { "vars": { "client_name": "claranet" } }, } parsed_stack_config = tfwrapper.load_stack_config(paths["conf_dir"], "testaccount", "testenvironment", "testregion", "teststack") assert parsed_stack_config == expected_stack_result stack_config.write_text( textwrap.dedent(""" --- gcp: general: mode: adc-user project: &gcp_project testproject gke: - name: gke-testproject zone: europe-west1-b refresh_kubeconfig: never terraform: vars: client_name: claranet """)) expected_stack_result = { "gcp": { "general": { "mode": "adc-user", "project": "testproject" }, "gke": [{ "name": "gke-testproject", "zone": "europe-west1-b", "refresh_kubeconfig": "never" }], }, "terraform": { "vars": { "client_name": "claranet" } }, } parsed_stack_config = tfwrapper.load_stack_config(paths["conf_dir"], "testaccount", "testenvironment", "testregion", "teststack") assert parsed_stack_config == expected_stack_result