from __future__ import annotations from {{ cookiecutter.package_name }}.commands import format_greeting from {{ cookiecutter.package_name }}.config import get_config, get_config_source from {{ cookiecutter.package_name }}.config.paths import ENV_CONFIG_VAR def test_env_config_override(tmp_path, monkeypatch) -> None: config_path = tmp_path / "config.toml" config_path.write_text("greeting = \"Hi\"\n") monkeypatch.setenv(ENV_CONFIG_VAR, str(config_path)) settings = get_config() assert settings.greeting == "Hi" assert get_config_source() == config_path def test_missing_env_config_raises(tmp_path, monkeypatch) -> None: missing = tmp_path / "missing.toml" monkeypatch.setenv(ENV_CONFIG_VAR, str(missing)) try: get_config() except FileNotFoundError as exc: assert str(missing) in str(exc) else: raise AssertionError("Expected FileNotFoundError") def test_format_greeting() -> None: assert format_greeting("Ada") == "Hello, Ada!"