"""Integration tests for `soundrecording_utils.ddex.utils.graphql`. Hits the real GraphQL gateway: poetry run pytest -m integration tests/integration/test_get_track.py Set the ENVIRONMENT env var to target a non-default environment (`qa` or `prod`). If `ENVIRONMENT=dev` is supplied, the gateway connector maps it to `qa`. """ import os import pytest from soundrecording_utils.ddex.utils.graphql import get_primary_track_isrc_and_tuid, get_track APPLICATION_NAME = 'soundrecording-utils-integration-test' KNOWN_ISRC = os.environ.get('TEST_ISRC', 'QM6MZ2016828') KNOWN_TUID = os.environ.get('TEST_TUID', '31532465') # TUID for the track with KNOWN_ISRC UNKNOWN_ISRC = 'ZZZZZ9999999' KNOWN_OSR_ISRC = 'QM6N22376917' @pytest.mark.integration def test_get_track_real_gateway_returns_track(): """Calling get_track with a real ISRC returns a populated track dict.""" track = get_track(KNOWN_ISRC, KNOWN_TUID, APPLICATION_NAME) assert track is not None, f'No track returned for ISRC {KNOWN_ISRC}' assert 'trackName' in track assert 'labelSoundRecording' in track assert 'product' in track assert 'participations' in track @pytest.mark.integration def test_get_track_real_gateway_unknown_isrc_returns_none(): """Calling get_track with an ISRC that doesn't exist returns None.""" assert get_track(UNKNOWN_ISRC, KNOWN_TUID, APPLICATION_NAME) is None @pytest.mark.integration def test_get_primary_track_isrc_and_tuid_real_gateway_returns_isrc_and_tuid(): """Calling get_primary_track_isrc_and_tuid with a real OSR ISRC returns a track ISRC and TUID.""" track_isrc, track_tuid = get_primary_track_isrc_and_tuid(KNOWN_OSR_ISRC, APPLICATION_NAME) assert track_isrc is not None, f'No primary track ISRC resolved for OSR ISRC {KNOWN_OSR_ISRC}' assert track_tuid is not None, f'No primary track TUID resolved for OSR ISRC {KNOWN_OSR_ISRC}' assert isinstance(track_isrc, str) assert isinstance(track_tuid, str) assert len(track_isrc) > 0 assert len(track_tuid) > 0 @pytest.mark.integration def test_get_primary_track_isrc_and_tuid_real_gateway_unknown_osr_returns_none(): """Calling get_primary_track_isrc_and_tuid with an OSR ISRC that doesn't exist returns None.""" assert get_primary_track_isrc_and_tuid(UNKNOWN_ISRC, APPLICATION_NAME) is None