Esempio n. 1
0
class AppContainer(containers.DeclarativeContainer):
    wiring_config = containers.WiringConfiguration(modules=[
        "api.resources.astro_object.astro_object",
        "api.resources.classifier.classifier",
        "api.resources.features.features",
        "api.resources.magstats.magstats",
        "api.resources.light_curve.light_curve",
        "api.resources.probabilities.probabilities",
    ])
    # config
    config = providers.Configuration()

    # gateways
    psql_db = providers.ThreadSafeSingleton(SQLConnection)
    mongo_db = providers.ThreadSafeSingleton(MongoConnection)
    database_config = config.DATABASE
    db_control = providers.ThreadSafeSingleton(
        DBControl,
        app_config=database_config.APP_CONFIG,
        psql_config=database_config.SQL,
        mongo_config=database_config.MONGO,
        psql_db=psql_db,
        mongo_db=mongo_db,
    )

    # views dependencies
    view_result_handler = providers.Factory(ViewResultHandler)

    # packages
    lightcurve_package = providers.Container(LightcurveContainer,
                                             psql_db=psql_db,
                                             mongo_db=mongo_db)
Esempio n. 2
0
class Container(containers.DeclarativeContainer):

    wiring_config = containers.WiringConfiguration(modules=[".endpoints"])

    config = providers.Configuration(yaml_files=["config.yml"])

    giphy_client = providers.Factory(
        giphy.GiphyClient,
        api_key=config.giphy.api_key,
        timeout=config.giphy.request_timeout,
    )

    search_service = providers.Factory(
        services.SearchService,
        giphy_client=giphy_client,
    )
class Container(containers.DeclarativeContainer):

    wiring_config = containers.WiringConfiguration(packages=[".blueprints"])

    config = providers.Configuration(yaml_files=["config.yml"])

    github_client = providers.Factory(
        Github,
        login_or_token=config.github.auth_token,
        timeout=config.github.request_timeout,
    )

    search_service = providers.Factory(
        services.SearchService,
        github_client=github_client,
    )
Esempio n. 4
0
class Container(containers.DeclarativeContainer):

    wiring_config = containers.WiringConfiguration(modules=[".endpoints"])

    config = providers.Configuration(yaml_files=["config.yml"])

    db = providers.Singleton(Database, db_url=config.db.url)

    user_repository = providers.Factory(
        UserRepository,
        session_factory=db.provided.session,
    )

    user_service = providers.Factory(
        UserService,
        user_repository=user_repository,
    )
Esempio n. 5
0
@fixture(autouse=True)
def container(wiring_config: containers.WiringConfiguration):
    original_wiring_config = Container.wiring_config
    Container.wiring_config = wiring_config
    container = Container()
    yield container
    container.unwire()
    Container.wiring_config = original_wiring_config


@mark.parametrize(
    "wiring_config",
    [
        containers.WiringConfiguration(
            modules=["samples.wiring.module"],
            packages=["samples.wiring.package"],
        ),
    ],
)
def test_absolute_names():
    service = module.test_function()
    assert isinstance(service, Service)

    from samples.wiring.package.subpackage.submodule import test_function
    service = test_function()
    assert isinstance(service, Service)


@mark.parametrize(
    "wiring_config",
    [