"""conftest. This file gets picked up when running py.test tests: http://pytest.org/latest/writing_plugins.html#conftest """ import random import pytest from tests.integration.consts import api from tests.integration.test_helpers import api as api_calls from tests.integration.test_helpers import utils current_id = random.randint(1_000_000, 100_000_000) podcast_id = '8545' episode_id = '5030' def _random_object_id(): return '{}'.format(random.randint(10**7, 10**8)) @pytest.fixture def asset_test_jpg_fixture(): """Create jpg asset for test object_type.""" upload_token = utils.validate_response_status( api_calls.asset.get_upload_token()) filename = upload_token['filename'] object_id = _random_object_id() object_type = 'test' asset_type = api.ASSET_TYPE_JPG response = api_calls.asset.post( object_id, object_type, filename, 'test-original-filename', asset_type ) response_body = utils.validate_response_status(response) try: yield response_body finally: api_calls.asset.delete(object_id, object_type, 'artwork') @pytest.fixture def asset_episode_jpg_fixture(): """Create jpg asset for episode object_type.""" upload_token = utils.validate_response_status( api_calls.asset.get_upload_token()) filename = upload_token['filename'] object_type = 'episode' asset_type = api.ASSET_TYPE_JPG response = api_calls.asset.post( episode_id, object_type, filename, 'test-original-filename', asset_type ) response_body = utils.validate_response_status(response) try: yield response_body finally: api_calls.asset.delete(episode_id, object_type, 'artwork') @pytest.fixture def asset_episode_wav_fixture(): """Create wav asset for episode object_type.""" upload_token = utils.validate_response_status( api_calls.asset.get_upload_token()) filename = upload_token['filename'] object_type = 'episode' asset_type = api.ASSET_TYPE_WAV response = api_calls.asset.post( episode_id, object_type, filename, 'test-original-filename', asset_type ) response_body = utils.validate_response_status(response) try: yield response_body finally: api_calls.asset.delete(episode_id, object_type, 'audio') @pytest.fixture def asset_podcast_jpg_fixture(): """Create asset for podcast object_type.""" upload_token = utils.validate_response_status( api_calls.asset.get_upload_token()) filename = upload_token['filename'] object_type = 'podcast' asset_type = api.ASSET_TYPE_JPG response = api_calls.asset.post( podcast_id, object_type, filename, 'test-original-filename', asset_type ) response_body = utils.validate_response_status(response) try: yield response_body finally: api_calls.asset.delete(podcast_id, object_type, 'artwork') @pytest.fixture def podcast_object_fixture(): """Return podcast object_type and object_id.""" # we use empty object_id for podcast and episode and generate object_id for adupload yield 'podcast', podcast_id @pytest.fixture def episode_object_fixture(): """Return episode object_type and object_id.""" # we use empty object_id for podcast and episode and generate object_id for adupload yield 'episode', episode_id