import pytest from common.connectors.graphql.schemas import BulkSessionIngestionProductResult from common.schemas.ingestion import BaseEvent, ProductInfo from common.test_data.event import event_data @pytest.fixture def product_info() -> ProductInfo: return ProductInfo(**event_data["product_info"]) @pytest.fixture def success_event() -> BaseEvent: return BaseEvent.model_validate(event_data | {"ingestion_status": "success"}) @pytest.fixture def failure_event() -> BaseEvent: return BaseEvent.model_validate(event_data | {"ingestion_status": "failure"}) @pytest.fixture def successfully_ingested_products() -> list[BulkSessionIngestionProductResult]: return [ BulkSessionIngestionProductResult( **{ "id": "e288ec78-4dde-49cb-994d-4774f1383aac", "ingestionStatus": "success", } ), BulkSessionIngestionProductResult( **{ "id": "437541e8-3f47-4162-88e4-ac6db242f052", "ingestionStatus": "success", } ), ] @pytest.fixture def unsuccessfully_ingested_products() -> list[BulkSessionIngestionProductResult]: return [ BulkSessionIngestionProductResult( **{ "id": "e288ec78-4dde-49cb-994d-4774f1383aac", "ingestionStatus": "success", } ), BulkSessionIngestionProductResult( **{ "id": "437541e8-3f47-4162-88e4-ac6db242f052", "ingestionStatus": "failure", } ), ]