from unittest import mock import pytest from campaigns.assets.repositories import AssetRepository from campaigns.assets.services import AssetService from campaigns.connectors.db import Database @pytest.fixture def asset_repository(db: Database) -> AssetRepository: return AssetRepository(db=db) @pytest.fixture def asset_service( s3_client_mock: mock.MagicMock, sts_client_mock: mock.MagicMock, asset_repository: AssetRepository, ) -> AssetService: return AssetService( s3_client=s3_client_mock, sts_client=sts_client_mock, asset_repository=asset_repository, upload_policy_func=lambda key: {"key": key}, upload_bucket_name="test", upload_iam_role_arn="test", upload_region_name="test", )