11# -*- coding: utf-8 -*-
2+ import pytest
3+ from plexapi .exceptions import BadRequest
4+
25from . import conftest as utils
36from . import test_media , test_mixins
47
@@ -36,9 +39,9 @@ def test_audio_Artist_attr(artist):
3639 assert utils .is_int (artist .viewCount , gte = 0 )
3740
3841
39- def test_audio_Artist_get (artist , music ):
40- artist == music . searchArtists ( ** { "title" : "Broke For Free" })[ 0 ]
41- artist .title == "Broke For Free "
42+ def test_audio_Artist_get (artist ):
43+ track = artist . get ( album = "Layers" , title = "As Colourful as Ever" )
44+ assert track .title == "As Colourful as Ever "
4245
4346
4447def test_audio_Artist_history (artist ):
@@ -52,6 +55,8 @@ def test_audio_Artist_track(artist):
5255 track = artist .track (album = "Layers" , track = 1 )
5356 assert track .parentTitle == "Layers"
5457 assert track .index == 1
58+ with pytest .raises (BadRequest ):
59+ artist .track ()
5560
5661
5762def test_audio_Artist_tracks (artist ):
@@ -69,6 +74,11 @@ def test_audio_Artist_albums(artist):
6974 assert len (albums ) == 1 and albums [0 ].title == "Layers"
7075
7176
77+ def test_audio_Artist_hubs (artist ):
78+ hubs = artist .hubs ()
79+ assert isinstance (hubs , list )
80+
81+
7282def test_audio_Artist_mixins_edit_advanced_settings (artist ):
7383 test_mixins .edit_advanced_settings (artist )
7484
@@ -109,6 +119,7 @@ def test_audio_Album_attrs(album):
109119 assert utils .is_datetime (album .addedAt )
110120 if album .art :
111121 assert utils .is_art (album .art )
122+ assert isinstance (album .formats , list )
112123 assert isinstance (album .genres , list )
113124 assert album .index == 1
114125 assert utils .is_metadata (album ._initpath )
@@ -126,6 +137,7 @@ def test_audio_Album_attrs(album):
126137 assert album .ratingKey >= 1
127138 assert album ._server ._baseurl == utils .SERVER_BASEURL
128139 assert album .studio == "[no label]"
140+ assert isinstance (album .subformats , list )
129141 assert album .summary == ""
130142 if album .thumb :
131143 assert utils .is_thumb (album .thumb )
@@ -157,6 +169,8 @@ def test_audio_Album_track(album, track=None):
157169 track = track or album .track ("As Colourful As Ever" )
158170 track2 = album .track (track = 1 )
159171 assert track == track2
172+ with pytest .raises (BadRequest ):
173+ album .track ()
160174
161175
162176def test_audio_Album_get (album ):
@@ -215,6 +229,7 @@ def test_audio_Track_attrs(album):
215229 assert utils .is_thumb (track .grandparentThumb )
216230 assert track .grandparentTitle == "Broke For Free"
217231 assert track .guid .startswith ("mbid://" ) or track .guid .startswith ("plex://track/" )
232+ assert track .hasSonicAnalysis is False
218233 assert track .index == 1
219234 assert track .trackNumber == track .index
220235 assert utils .is_metadata (track ._initpath )
@@ -253,6 +268,7 @@ def test_audio_Track_attrs(album):
253268 assert track .viewOffset == 0
254269 assert track .viewedAt is None
255270 assert track .year is None
271+ assert track .url (None ) is None
256272 assert media .aspectRatio is None
257273 assert media .audioChannels == 2
258274 assert media .audioCodec == "mp3"
0 commit comments