"""Test assets endpoints.""" from tests.integration import config from tests.integration.test_helpers import api as api_calls from tests.integration.test_helpers import utils def test_upload_token(): """Get upload token test.""" response_body = utils.validate_response_status( api_calls.asset.get_upload_token() ) utils.assert_has_keys(response_body, ['credentials', 'bucket', 'filename']) utils.assert_has_keys( response_body['credentials'], ['token', 'aws_access_key_id', 'aws_secret_access_key', 'expiration'] ) assert response_body['bucket'] == config.OUTPUT_ASSETS_BUCKET_NAME, \ 'Expected bucket name to be {}, was {}'.format( config.OUTPUT_ASSETS_BUCKET_NAME, response_body['bucket']) def test_delete_asset(podcast_fixture): """Delete asset endpoint test.""" podcast_asset = utils.validate_response_status( api_calls.asset.get_by_ids_types( [podcast_fixture['id']], ['podcast'] ) ) asset_item = podcast_asset['items'][0] payload = { 'asset_type': 'artwork', 'object_type': 'podcast', 'object_id': podcast_fixture['id'] } response_body = utils.validate_response_status( api_calls.asset.delete(**payload) ) assert len(response_body['items']) == 1, \ 'Expected 1 item in response, was {}'.format( len(response_body['items'])) assert response_body['items'][0]['id'] == asset_item['id'], \ 'Expected id {} in response, was {}'.format( asset_item['id'], response_body['items'][0]['id']) podcast_asset = utils.validate_response_status( api_calls.asset.get_by_ids_types( [podcast_fixture['id']], ['podcast'] ) ) assert len(podcast_asset['items']) == 0, \ 'Expected no items in response, was {}'.format( len(podcast_asset['items']))