# pylint: disable=unused-argument, protected-access import pytest from slz_ddex_downloader.entities import AcknowledgementFileStatusEnum from .utils import create_release, upload_local_releases @pytest.mark.parametrize( 'release_title, file_status', [ ('valid_release', AcknowledgementFileStatusEnum.FILE_OK), ('unvalid_release_by_resources', AcknowledgementFileStatusEnum.RESOURCE_MISSING), ('unvalid_release_by_xml_content', AcknowledgementFileStatusEnum.INTERNAL_ERROR), ( 'unvalid_release_by_wrong_extension', AcknowledgementFileStatusEnum.NEW_RELEASE_MESSAGE_INVALID ), ( 'unvalid_release_by_unparseable_xml', AcknowledgementFileStatusEnum.NEW_RELEASE_MESSAGE_INVALID ), ( 'unvalid_release_by_missing_sound_recording_isrc', AcknowledgementFileStatusEnum.METADATA_MISSING ), ] ) @pytest.mark.integration def test_validate_release( s3_service, release_service, config_test, validator, release_title, file_status ): # upload local release fixtures to s3 upload_local_releases(s3_service, config_test.feed_bucket) # validate release xml content and resources release = create_release(release_service, release_title) result = validator.validate_release(release) assert result[0] == file_status