"""Integration load test fixtures.""" from datetime import datetime, timedelta import random import pytest from tests.consts.load import TRAFFIC_PROFILES from tests.integration.utils.user import QAUser def pytest_addoption(parser): """Pytest cmdline options.""" parser.addoption('--traffic-type', action='store', default='background') @pytest.fixture(scope='module') def traffic_type(request): """Get traffic-type flag value.""" return request.config.getoption('--traffic-type') @pytest.fixture(scope='module') def user(request, traffic_type): """Get a vendor_id.""" vendor_ids = TRAFFIC_PROFILES[traffic_type] if type(vendor_ids) == list: vendor_id = random.choice(vendor_ids) else: vendor_id = vendor_ids return QAUser(vendor_id) # only kept to override parent fixture for week filter @pytest.fixture(scope='module', params=[7, 30, 365]) def dates(request): """Get 'to' and 'from' dates.""" date_format = '%Y-%m-%d' time_delta = timedelta(days=request.param) to_date = datetime.now() from_date = to_date - time_delta return {'from': from_date.strftime(date_format), 'to': to_date.strftime(date_format)}