57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
import pytest
|
|
|
|
|
|
def test_client_search(client, requests_mock):
|
|
requests_mock.get(
|
|
client.session.url_base + "search?query=myquery", json={"hello": "world"}
|
|
)
|
|
|
|
result = client.search("myquery")
|
|
assert result == {"hello": "world"}
|
|
|
|
|
|
def test_client_get_track(client, requests_mock):
|
|
requests_mock.get(client.session.url_base + "tracks/12/", json={"hello": "world"})
|
|
|
|
result = client.get_track(12)
|
|
assert result == {"hello": "world"}
|
|
|
|
|
|
def test_client_list_tracks(client, requests_mock):
|
|
requests_mock.get(
|
|
client.session.url_base + "tracks/?artist=12", json={"hello": "world"}
|
|
)
|
|
|
|
result = client.list_tracks({"artist": 12})
|
|
assert result == {"hello": "world"}
|
|
|
|
|
|
def test_client_list_artists(client, requests_mock):
|
|
requests_mock.get(
|
|
client.session.url_base + "artists/?playable=true", json={"hello": "world"}
|
|
)
|
|
|
|
result = client.list_artists({"playable": "true"})
|
|
assert result == {"hello": "world"}
|
|
|
|
|
|
def test_client_list_albums(client, requests_mock):
|
|
requests_mock.get(
|
|
client.session.url_base + "albums/?playable=true", json={"hello": "world"}
|
|
)
|
|
|
|
result = client.list_albums({"playable": "true"})
|
|
assert result == {"hello": "world"}
|
|
|
|
|
|
def test_load_all(client, requests_mock):
|
|
page1 = {"results": [1, 2, 3], "next": "https://first.page"}
|
|
page2 = {"results": [4, 5, 6], "next": "https://second.page"}
|
|
page3 = {"results": [7, 8, 9], "next": None}
|
|
requests_mock.get(page1["next"], json=page2)
|
|
requests_mock.get(page2["next"], json=page3)
|
|
assert (
|
|
list(client.load_all(page1))
|
|
== page1["results"] + page2["results"] + page3["results"]
|
|
)
|