"""Fixtures for lambda testing.""" import pytest import requests from kafka import KafkaConsumer from src import config # noqa:I202 import os TEST_EVENT = 'tests/sample_event.json' AUTH0_URL = 'https://qa-orchard.auth0.com/oauth/token' AUDIENCE_URL = 'https://qa-gda-gateway-auth0-jwt-authorizer' GROUP_ID = '123456c-2b7e-4a74-98ce-d1a0dd22d360' CLIENT_ID = 'qa-integration-test' BOOTSTRAP_SERVERS = os.environ.get('BOOTSTRAP_SERVERS') @pytest.fixture() def get_auth0_token(): """Get auth0 Token bearer.""" auth0_header = {'content-type': 'application/json'} auth0_data = { 'client_id': os.environ['AUTH0_CLIENT_ID'], 'client_secret': os.environ['AUTH0_CLIENT_SECRET'], 'audience': AUDIENCE_URL, 'grant_type': 'client_credentials' } response = requests.post( AUTH0_URL, json=auth0_data, headers=auth0_header) assert response.status_code == 200, response.text return response.json()['access_token'] @pytest.fixture() def get_consumer(): """Consumer factory.""" def _get_consumer(topic_name): """Initiate Kafka consumer.""" return KafkaConsumer(topic_name, **{ 'bootstrap_servers': config.BOOTSTRAP_SERVERS, 'security_protocol': 'SSL', 'client_id': config.CLIENT_ID, 'group_id': GROUP_ID, 'api_version': config.KAFKA_API_VERSION, 'auto_offset_reset': 'latest', 'consumer_timeout_ms': 1000 }) return _get_consumer