示例#1
0
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,
    )
示例#2
0
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()