"""conftest.""" from unittest.mock import MagicMock import pytest from src.handle_result import podcast from src.handle_result import kafka_producer from src.handle_result import kafka_producer_with_avro_schema import src.av_scan as av_scan import src.s3 as s3 @pytest.fixture def mock_update_podcast_adread(monkeypatch): """Mock update podcast adread ows-call.""" monkeypatch.setattr(podcast, 'update_podcast_adread', MagicMock()) @pytest.fixture def mock_scan_clean(monkeypatch): """Mock scan clean.""" monkeypatch.setattr( av_scan, 'scan_string_for_virus', MagicMock(return_value=0)) @pytest.fixture def mock_scan_virus(monkeypatch): """Mock scan virus.""" monkeypatch.setattr( av_scan, 'scan_string_for_virus', MagicMock(return_value=1)) @pytest.fixture def mock_s3_get(monkeypatch): """Mock scan virus.""" class MockBody: def read(self): return 'Great day' monkeypatch.setattr(s3, 'get_object', MagicMock(return_value={ 'Body': MockBody(), 'Metadata': { 'profileid': '11001331', 'filename': 'valid_test2.csv', 'profileuuid': '5a084d1c-6794-4d9d-bf1b-52eea856e144', 'identityid': '47d9a1be-ad2e-48cf-a848-6aecfb2dd026' } })) @pytest.fixture def mock_s3_delete(monkeypatch): """Mock s3 delete.""" monkeypatch.setattr(s3, 'delete_object', MagicMock()) @pytest.fixture def mock_kafka_producer(monkeypatch): """Mock kafka_producer delete.""" monkeypatch.setattr(kafka_producer, 'produce_message', MagicMock()) def mock_init(self, topic): """Mock the Kafka Producer with Avro constructor.""" return None @pytest.fixture def mock_kafka_producer_with_avro_schema(monkeypatch): """Mock kafka_producer_with_avro_schema.""" monkeypatch.setattr(kafka_producer_with_avro_schema.KafkaProducerWithAvroSchema, '__init__', mock_init) monkeypatch.setattr(kafka_producer_with_avro_schema.KafkaProducerWithAvroSchema, 'produce_message', MagicMock())