from unittest import mock import pytest from anydi import Container from owsclient import OwsClient import app from app.adapters.aws.s3 import S3Client from app.adapters.ows_dmp import OwsDmpClient from app.adapters.ows_notifications import OwsNotificationsClient from app.config.settings import Settings @pytest.fixture(scope="session") def container() -> Container: return app.setup() @pytest.fixture(scope="session") def settings(container: Container) -> Settings: return container.resolve(Settings) @pytest.fixture def ows_client() -> OwsClient: return OwsClient( environment="test", service_name="lambda-audience-export-file", ) @pytest.fixture def ows_dmp_client(ows_client: OwsClient) -> OwsDmpClient: return OwsDmpClient(ows_client=ows_client) @pytest.fixture def ows_dmp_client_mock() -> mock.MagicMock: return mock.MagicMock(spec=OwsDmpClient) @pytest.fixture def ows_notifications_client(ows_client: OwsClient) -> OwsNotificationsClient: return OwsNotificationsClient(ows_client=ows_client) @pytest.fixture def ows_notifications_client_mock() -> mock.MagicMock: return mock.MagicMock(spec=OwsNotificationsClient) @pytest.fixture def s3_client_mock() -> mock.MagicMock: return mock.MagicMock(spec=S3Client)