def test_load_config_variables_file(basic_data_context_config, tmp_path_factory): # Setup: base_path = str(tmp_path_factory.mktemp('test_load_config_variables_file')) safe_mmkdir(os.path.join(base_path, "uncommitted")) with open(os.path.join(base_path, "uncommitted", "dev_variables.yml"), "w") as outfile: yaml.dump({'env': 'dev'}, outfile) with open(os.path.join(base_path, "uncommitted", "prod_variables.yml"), "w") as outfile: yaml.dump({'env': 'prod'}, outfile) basic_data_context_config[ "config_variables_file_path"] = "uncommitted/${TEST_CONFIG_FILE_ENV}_variables.yml" try: # We should be able to load different files based on an environment variable os.environ["TEST_CONFIG_FILE_ENV"] = "dev" context = BaseDataContext(basic_data_context_config, context_root_dir=base_path) config_vars = context._load_config_variables_file() assert config_vars['env'] == 'dev' os.environ["TEST_CONFIG_FILE_ENV"] = "prod" context = BaseDataContext(basic_data_context_config, context_root_dir=base_path) config_vars = context._load_config_variables_file() assert config_vars['env'] == 'prod' except Exception: raise finally: # Make sure we unset the environment variable we're using del os.environ["TEST_CONFIG_FILE_ENV"]
def test_load_config_variables_file(basic_data_context_v013_config, tmp_path_factory, monkeypatch): # Setup: base_path = str(tmp_path_factory.mktemp("test_load_config_variables_file")) os.makedirs(os.path.join(base_path, "uncommitted"), exist_ok=True) with open(os.path.join(base_path, "uncommitted", "dev_variables.yml"), "w") as outfile: yaml.dump({"env": "dev"}, outfile) with open(os.path.join(base_path, "uncommitted", "prod_variables.yml"), "w") as outfile: yaml.dump({"env": "prod"}, outfile) basic_data_context_v013_config[ "config_variables_file_path"] = "uncommitted/${TEST_CONFIG_FILE_ENV}_variables.yml" try: # We should be able to load different files based on an environment variable monkeypatch.setenv("TEST_CONFIG_FILE_ENV", "dev") context = BaseDataContext(basic_data_context_v013_config, context_root_dir=base_path) config_vars = context._load_config_variables_file() assert config_vars["env"] == "dev" monkeypatch.setenv("TEST_CONFIG_FILE_ENV", "prod") context = BaseDataContext(basic_data_context_v013_config, context_root_dir=base_path) config_vars = context._load_config_variables_file() assert config_vars["env"] == "prod" except Exception: raise finally: # Make sure we unset the environment variable we're using monkeypatch.delenv("TEST_CONFIG_FILE_ENV")