from urllib.parse import urlencode from fastapi.testclient import TestClient from src.backend.main import app from src.backend.routers.utils import ROUTE from src.backend.users.manage import verify_auth0 ROUTE = f"/api{ROUTE}" # Dependency override to mock the Auth0 verifier, so that tests can run without # needing to authenticate with Auth0. app.dependency_overrides[verify_auth0] = lambda: {"mock_auth0": "credentials"} client = TestClient(app) def test_artist_search(): params = urlencode( { "query": "rosalia", } ) response = client.get(f"{ROUTE}/artist_search?{params}") data = response.json()["data"] assert response.status_code == 200 assert "rosalĂ­a" in (artist.lower() for artist in data) def test_get_artist_photos(): limit = 5 params = urlencode( { "artist_name": "the weeknd", "limit": limit, "size": 100, } ) response = client.get(f"{ROUTE}/artist_photos?{params}") body = response.json() assert response.status_code == 200 assert len(body["data"]) == limit