Skip to content

Commit 673d8a8

Browse files
committed
fix: get tests passing.
One test has been xfailed as I can't find an example. Skipped tests untested.
1 parent 6d0bb1f commit 673d8a8

8 files changed

Lines changed: 45 additions & 39 deletions

File tree

tests/test_album.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from dateutil import tz
2323

2424
import tidalapi
25+
from tidalapi.album import Album
2526

2627
from .cover import verify_image_cover, verify_video_cover
2728

@@ -98,8 +99,9 @@ def test_no_release_date(session):
9899
)
99100

100101

101-
def test_no_cover(session):
102-
album = session.album(82804683)
102+
def test_default_image_used_if_no_cover_art(mocker):
103+
# TODO find an example if there still are any.
104+
album = Album(mocker.Mock(), None)
103105
assert album.cover is None
104106
assert album.image(1280) == tidalapi.album.DEFAULT_ALBUM_IMAGE
105107

tests/test_artist.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,10 @@ def test_get_albums_ep_singles(session):
6969

7070
def test_get_albums_other(session):
7171
artist = session.artist(16147)
72-
albums = [session.album(3551486), session.album(55664700)]
72+
albums = [
73+
session.album(108748620),
74+
session.album(97216346),
75+
]
7376

7477
find_ids(albums, artist.get_albums_other)
7578

@@ -91,13 +94,12 @@ def test_get_videos_release_date(session):
9194
artist = session.artist(9341252)
9295

9396
videos = [
94-
session.video(182251637),
95-
session.video(162651673),
96-
session.video(117439611),
97-
session.video(106471970),
98-
session.video(104059079),
99-
session.video(151050672),
100-
session.video(144150464),
97+
session.video(298985403),
98+
session.video(288495954),
99+
session.video(281813762),
100+
session.video(271621957),
101+
session.video(267866493),
102+
session.video(260469454),
101103
]
102104

103105
find_ids(videos, artist.get_videos)
@@ -135,7 +137,7 @@ def test_get_radio(session):
135137
def test_artist_image(session):
136138
artist = session.artist(4822757)
137139
verify_image_cover(session, artist, [160, 320, 480, 750])
138-
album = session.album(125914889)
140+
album = session.album(108043414)
139141
verify_image_cover(session, album.artist, [160, 320, 480, 750])
140142

141143

tests/test_genres.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def test_get_electronic_items(session):
4343
genres = list(session.genre.get_genres())
4444
electronic = [genre for genre in genres if genre.path == "Electronic"][0]
4545
electronic_items = electronic.items(tidalapi.Playlist)
46-
assert "Rising: Electronic" in [playlist.name for playlist in electronic_items]
46+
assert "Electronic: RISING" in [playlist.name for playlist in electronic_items]
4747

4848

4949
def test_image(session):

tests/test_media.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def test_track(session):
3838
assert track.name == "Alone, Pt. II"
3939
assert track.duration == 179
4040
assert track.replay_gain == -10.4
41-
assert track.peak == 0.999923
41+
assert track.peak == 0.988312
4242
assert track.available is True
4343
assert track.tidal_release_date == datetime(2019, 12, 27, 0, 0, tzinfo=tz.tzutc())
4444
assert track.track_num == 1
@@ -73,7 +73,7 @@ def test_lyrics(session):
7373

7474

7575
def test_no_lyrics(session):
76-
track = session.track(115105969)
76+
track = session.track(17626400)
7777
with pytest.raises(requests.HTTPError) as exception:
7878
track.lyrics()
7979

@@ -99,7 +99,7 @@ def test_track_streaming(session):
9999
track = session.track(62392768)
100100
stream = track.stream()
101101
assert stream.audio_mode == "STEREO"
102-
assert stream.audio_quality == "HIGH"
102+
assert stream.audio_quality == "LOSSLESS"
103103

104104

105105
def test_video(session):
@@ -110,7 +110,7 @@ def test_video(session):
110110
assert video.track_num == 0
111111
assert video.volume_num == 0
112112
assert video.release_date == datetime(2019, 12, 26, tzinfo=tz.tzutc())
113-
assert video.tidal_release_date == datetime(2019, 12, 27, 9, tzinfo=tz.tzutc())
113+
assert video.tidal_release_date == datetime(2019, 12, 27, 8, tzinfo=tz.tzutc())
114114
assert video.duration == 237
115115
assert video.video_quality == "MP4_1080P"
116116
assert video.available is True
@@ -161,7 +161,7 @@ def test_live_video(session):
161161
assert live.track_num == 1
162162
assert live.volume_num == 1
163163
assert live.release_date == datetime(2021, 4, 1, tzinfo=tz.tzutc())
164-
assert live.tidal_release_date == datetime(2021, 4, 1, 18, tzinfo=tz.tzutc())
164+
assert live.tidal_release_date == datetime(2021, 4, 1, 17, tzinfo=tz.tzutc())
165165
assert live.duration == 204
166166
assert live.video_quality == "MP4_1080P"
167167
assert live.available is True

tests/test_page.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#
1515
# You should have received a copy of the GNU Lesser General Public License
1616
# along with this program. If not, see <http://www.gnu.org/licenses/>.
17-
from future.builtins import isinstance, str
17+
import pytest
1818

1919
import tidalapi
2020

@@ -29,6 +29,7 @@ def test_explore(session):
2929
assert explore
3030

3131

32+
@pytest.mark.xfail
3233
def test_get_explore_items(session):
3334
explore = session.explore()
3435
iterator = iter(explore)
@@ -94,10 +95,11 @@ def test_genres(session):
9495
assert first.title == "Africa"
9596
assert isinstance(next(iter(first.get())), tidalapi.Playlist)
9697

97-
local_genres = session.local_genres()
98-
first_local = next(iter(local_genres))
98+
# NOTE local genres seems broken, and the first entry is no longer available
99+
local_genres = list(session.local_genres())
100+
first_local = local_genres[0]
99101
assert first_local != first
100-
assert isinstance(next(iter(first_local.get())).get(), tidalapi.Playlist)
102+
assert isinstance(next(iter(local_genres[-1].get())), tidalapi.Playlist)
101103

102104

103105
def test_moods(session):

tests/test_playlist.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def test_playlist(session):
5252

5353
creator = playlist.creator
5454
assert creator.id == 7804
55-
assert creator.name == "JAY-Z"
55+
assert creator.name == "JAY Z"
5656
assert isinstance(creator, tidalapi.Artist)
5757

5858

@@ -116,7 +116,7 @@ def test_get_tracks(session):
116116

117117
assert len(items) >= 5288
118118
assert items[0].id == 199477058
119-
assert items[5287].id == 92035253
119+
assert items[5287].id == 209284860
120120

121121

122122
def test_get_videos(session):

tests/test_session.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,7 @@ def test_search(session):
9898
assert isinstance(search["tracks"][0], Track)
9999
assert isinstance(search["videos"][0], Video)
100100
assert isinstance(search["playlists"][0], Playlist)
101-
102-
assert (search["top_hit"]).name == "Walker Hayes"
101+
assert "Walker" in search["top_hit"].artist.name
103102

104103

105104
def test_type_search(session):

tests/test_user.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323

2424
import tidalapi
2525

26-
from .cover import verify_image_cover
27-
2826

2927
def test_user(session):
3028
assert isinstance(session.user, tidalapi.LoggedInUser)
@@ -38,23 +36,26 @@ def test_get_user(session):
3836
assert isinstance(user, tidalapi.FetchedUser)
3937
assert user.first_name == "Five Dragons"
4038
assert user.last_name == "Music"
41-
42-
verify_image_cover(session, user, [100, 210, 600])
39+
assert not user.picture_id
4340

4441

4542
def test_get_user_playlists(session):
4643
user_playlists = session.user.playlists()
4744
user_favorite_playlists = session.user.favorites.playlists()
48-
user_playlists_and_favorite_playlists = (
49-
session.user.playlist_and_favorite_playlists()
50-
)
51-
for item in user_playlists + user_favorite_playlists:
52-
assert any(
53-
item.id == playlist.id for playlist in user_playlists_and_favorite_playlists
54-
)
55-
assert len(user_playlists + user_favorite_playlists) - 1 == len(
56-
user_playlists_and_favorite_playlists
57-
)
45+
user_playlists_and_favorite_playlists = []
46+
offset = 0
47+
while True:
48+
playlists = session.user.playlist_and_favorite_playlists(offset=offset)
49+
if playlists:
50+
user_playlists_and_favorite_playlists += playlists
51+
else:
52+
break
53+
offset += 50
54+
playlist_ids = set(x.id for x in user_playlists)
55+
favourite_ids = set(x.id for x in user_favorite_playlists)
56+
both_ids = set(x.id for x in user_playlists_and_favorite_playlists)
57+
58+
assert playlist_ids | favourite_ids == both_ids
5859

5960

6061
def test_get_user_playlist_creator(session):

0 commit comments

Comments
 (0)