# pylint: disable=line-too-long import pytest from slz_apple_music_charts_pipeline_configurator.const import EnvironmentEnum from slz_apple_music_charts_pipeline_configurator.entities import Config, Payload def test_payload_from_dict(): payload = { 'uow_id': 'am-1', 'info': { 'execution_name': 'am-sf-name' }, 'report_date': '2021-10-01', 'dsp': 'apple', 'report_type': 'charts_daily', 'version': 'v1', 'licensor': 'sme', 'contexts': ['us', 'mx', 'gb'], 'config_bucket': 'dev-delphi-configs' } expected = Payload( uow_id='am-1', execution_name='am-sf-name', report_date='2021-10-01', dsp='apple', report_type='charts_daily', version='v1', licensor='sme', contexts=['us', 'mx', 'gb'], config_bucket='dev-delphi-configs' ) assert Payload.from_dict(payload) == expected @pytest.mark.parametrize( 'data,expected', [ ( { 'ENVIRONMENT': 'dev', 'APPLE_MUSIC_SCRAPPER__BATCH_CONFIG_PATH': 's3://dev-delphi-configs/apple-music-charts/scrapper-batch-config-standard.json', 'SENTRY_SECRET_KEY': 'sentry/secret/key', 'SLZ_DECOMPRESSED_BUCKET': 'slz/decompressed/bucket', 'SLZ_DECOMPRESSED_QUARANTINE_BUCKET': 'slz/decompressed-quarantine/bucket', 'SLZ_CORRUPTED_BUCKET': 'slz/corrupted/bucket', 'SLZ_RDS_SECRET_KEY': 'slz/rds/secret', 'VENDOR_API_SECRET_KEY': 'vendor/api/secret', }, Config( environment=EnvironmentEnum.DEV, apple_music_scrapper_batch_config_path= 's3://dev-delphi-configs/apple-music-charts/scrapper-batch-config-standard.json', vendor_api_secret_key='vendor/api/secret', slz_corrupted_bucket='slz/corrupted/bucket', slz_decompressed_bucket='slz/decompressed/bucket', slz_decompressed_quarantine_bucket='slz/decompressed-quarantine/bucket', slz_rds_secret_key='slz/rds/secret', sentry_secret_key='sentry/secret/key', ), ), ( { 'ENVIRONMENT': 'dev', 'APPLE_MUSIC_SCRAPPER__BATCH_CONFIG_PATH': 's3://dev-delphi-configs/apple-music-charts/scrapper-batch-config-standard.json', 'SLZ_DECOMPRESSED_BUCKET': 'slz/decompressed/bucket', 'SLZ_DECOMPRESSED_QUARANTINE_BUCKET': 'slz/decompressed-quarantine/bucket', 'SLZ_CORRUPTED_BUCKET': 'slz/corrupted/bucket', 'SLZ_RDS_SECRET_KEY': 'slz/rds/secret', 'VENDOR_API_SECRET_KEY': 'vendor/api/secret', }, Config( environment=EnvironmentEnum.DEV, apple_music_scrapper_batch_config_path= 's3://dev-delphi-configs/apple-music-charts/scrapper-batch-config-standard.json', vendor_api_secret_key='vendor/api/secret', slz_corrupted_bucket='slz/corrupted/bucket', slz_decompressed_bucket='slz/decompressed/bucket', slz_decompressed_quarantine_bucket='slz/decompressed-quarantine/bucket', slz_rds_secret_key='slz/rds/secret', ), ), ] ) def test_config_from_dict(data, expected): config = Config.from_dict(data) assert config == expected