def test_write_and_load_from_vault_without_key(docker_vault): os.environ["VAULT_ENABLED_FOR_DYNACONF"] = "1" os.environ["VAULT_TOKEN_FOR_DYNACONF"] = "myroot" settings = LazySettings(environments=True) write(settings, {"SECRET": "vault_works_perfectly"}) load(settings) assert settings.get("SECRET") == "vault_works_perfectly"
def test_write_to_vault(docker_vault): os.environ["VAULT_ENABLED_FOR_DYNACONF"] = "1" os.environ["VAULT_TOKEN_FOR_DYNACONF"] = "myroot" settings = LazySettings(environments=True) write(settings, {"SECRET": "vault_works_with_docker"}) load(settings, key="SECRET") assert settings.get("SECRET") == "vault_works_with_docker"
def test_read_from_vault_kv2_with_different_environments(docker_vault): os.environ["VAULT_ENABLED_FOR_DYNACONF"] = "1" os.environ["VAULT_KV_VERSION_FOR_DYNACONF"] = "2" os.environ["VAULT_TOKEN_FOR_DYNACONF"] = "myroot" settings = LazySettings(environments=["dev", "prod"]) for env in ["default", "dev", "prod"]: with settings.using_env(env): write(settings, {"SECRET": f"vault_works_in_{env}"}) load(settings) assert settings.secret == "vault_works_in_default" assert settings.from_env("dev").secret == "vault_works_in_dev" assert settings.from_env("prod").secret == "vault_works_in_prod"
def test_load_vault_not_configured(): with pytest.raises(AssertionError) as excinfo: settings = LazySettings(environments=True) load(settings, {"OTHER_SECRET": "vault_works"}) assert "Vault authentication error" in str(excinfo.value)
def test_load_from_vault_with_key(docker_vault): os.environ["VAULT_ENABLED_FOR_DYNACONF"] = "1" os.environ["VAULT_TOKEN_FOR_DYNACONF"] = "myroot" settings = LazySettings() load(settings, key="SECRET") assert settings.get("SECRET") == "vault_works_with_docker"