"""conftest. This file gets picked up when running py.test tests: http://pytest.org/latest/writing_plugins.html#conftest """ from os import getenv import time import pytest from tests.test_utils.api_client import APIClient @pytest.fixture def tuid(): """Track ID of QA track fixture.""" return 26885740 @pytest.fixture def tuids(): """Track IDs of QA track fixtures.""" return [26883180, 26883186] @pytest.fixture def api_client(): """Create an APIClient object with QA URL and session token.""" return APIClient(getenv('BASE_QA_URL')) @pytest.fixture def timestamped_lyrics(): """Return JSON formatted, time-stamped lyrics.""" return 'Test {}'.format(time.time()) @pytest.fixture def copy_lyrics_payload(tuid, tuids): """Return JSON formatted payload to copy lyrics.""" return [ {'source_tuid': tuid, 'destination_tuid': tuids[0]}, {'source_tuid': tuid, 'destination_tuid': tuids[1]} ] @pytest.fixture() def put_lyrics_to_track(api_client, tuid, timestamped_lyrics): """PUT lyrics to /tracks to ensure lyrics are present.""" api_client.put_lyrics(tuid, timestamped_lyrics) return timestamped_lyrics @pytest.fixture() def put_lyrics_to_tracks(api_client, tuids, timestamped_lyrics): """PUT lyrics to /tracks for multiple tracks to ensure lyrics available.""" api_client.put_lyrics(tuids[0], timestamped_lyrics) api_client.put_lyrics(tuids[1], timestamped_lyrics)