"""Tests for config module.""" import os import pytest from availability_etl import config @pytest.fixture def production_env(): """Create set of required environment variables for testing of config.""" required_env_variables = [ 'AVAIL_DB_USER', 'AVAIL_DB_PASSWORD', 'AVAIL_DB_HOST', 'AVAIL_DB_PORT', 'AVAIL_DB_NAME', 'SF_USER', 'SF_PASSWORD', 'SF_ACCOUNT', 'SF_DB_NAME', 'SF_WAREHOUSE', 'SF_ROLE', 'S3_BUCKET_NAME', 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', ] original_env_values = {env_name: os.getenv(env_name) for env_name in required_env_variables} for env_variable in required_env_variables: os.environ[env_variable] = 'any non empty string' os.environ['Environment'] = config.PROD_ENVIRONMENT yield for env in required_env_variables: if original_env_values[env]: os.environ[env] = original_env_values[env] else: del os.environ[env]