12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- """Test configuration"""
- import os
- from rival_regions_wrapper import LocalAuthentication, ApiWrapper
- from dotenv import load_dotenv
- import pytest
- import telegram
- load_dotenv()
- class MissingEnvironmentError(Exception):
- """Error for missing environment variable"""
- @pytest.fixture(scope="module")
- def telegram_channel():
- """Set up telegram channel"""
- return os.environ.get('TELEGRAM_CHANNEL', None)
- @pytest.fixture(scope="module")
- def telegram_bot():
- """Set up telegram bot before test"""
- telegram_key = os.environ.get('TELEGRAM_KEY', None)
- if None in (telegram_key, telegram_channel):
- raise MissingEnvironmentError(
- 'Load the following variables in your user environment: '
- 'TELEGRAM_KEY'
- )
- return telegram.Bot(token=telegram_key)
- @pytest.fixture(scope="module")
- def api_wrapper():
- """Set up wrapper before test"""
- rr_username = os.environ.get('RIVAL_REGIONS_USERNAME', None)
- rr_password = os.environ.get('RIVAL_REGIONS_PASSWORD', None)
- rr_login_method = os.environ.get('RIVAL_REGIONS_LOGIN_METHOD', None)
- if None in (rr_username, rr_password, rr_login_method):
- raise MissingEnvironmentError(
- 'Load the following variables in your user environment: '
- 'RIVAL_REGIONS_USERNAME, RIVAL_REGIONS_PASSWORD, RIVAL_REGIONS_LOGIN_METHOD'
- )
- authentication = LocalAuthentication(rr_username, rr_password, rr_login_method)
- return ApiWrapper(authentication)
- def pytest_addoption(parser):
- """Pytest parser options"""
- parser.addoption('--message', action='store_true', dest="message", \
- default=False, help="enable messagedecorated tests")
- def pytest_configure(config):
- """Pytest config"""
- if not config.option.message:
- setattr(config.option, 'markexpr', 'not message')
- config.addinivalue_line(
- "markers", "message: send telegram message"
- )
|