def create_valiant_builder( include_pyproject: bool = True, include_user_config: bool = True, include_site_config: bool = True, ) -> ConfigBuilder: """Create a config builder ready for Valiant. Args: include_pyproject: True if the local pyproject.toml file is to be read include_user_config: True if the user's config directory is to be used include_site_config: True if the system's config directory is to be used Returns: A ConfigBuilder instance readied with the expected config sources """ from valiant import Valiant vendor, app, version = Valiant.application_details() return ConfigBuilder.create_default_builder( initial_data=get_valiant_base_config(), vendor=vendor, app=app, version=version, include_pyproject=include_pyproject, include_user_config=include_user_config, include_site_config=include_site_config, filter=valiant_config_filter, )
def test_default_builder_with_no_sources() -> None: """Expect that the default builder doesn't build anything without inputs.""" from valiant.config import ConfigBuilder builder = ConfigBuilder.create_default_builder(include_pyproject=False, include_user_config=False, include_site_config=False) assert not builder.build()