import pytest from bulk_decompress_lambda.handler import check_payload @pytest.mark.parametrize( 'params, is_valid', [ ( { "bucket_archive": "stage-sme-data-archive", "archive_key": ".+report_date=2020-04-09.+", "bucket_decompressed": "dev-delphi-slz-download-jobs", "dsp_settings_path": "s3://dev-delphi-configs/dsp-specific-settings.json", "prefixes": ["sme_max/"] }, True ), ( { "bucket_archive": "stage-sme-data-archive", "archive_key": ".+report_date=2020-04-09.+", "bucket_decompressed": "dev-delphi-slz-download-jobs", "dsp_settings_path": "s3://dev-delphi-configs/dsp-specific-settings.json", "dsp_config": "s3://dev-delphi-configs/dsp_config.json", "prefixes_payload": { "dsp": "apple" } }, True ), ({ "bucket_archive": "stage-sme-data-archive", }, False), ( { "bucket_archive": "stage-sme-data-archive", "archive_key": ".+report_date=2020-04-09.+", "bucket_decompressed": "dev-delphi-slz-download-jobs", "dsp_settings_path": "s3://dev-delphi-configs/dsp-specific-settings.json", # "dsp_config": "is missing", "prefixes_payload": { "dsp": "apple" } }, False ), ] ) def test_payload_correct(params, is_valid): result = check_payload(params) assert result[0] == is_valid