11# -*- coding: utf-8 -*-
22from urllib .parse import quote_plus
33
4+ import pytest
5+ from plexapi .exceptions import BadRequest
6+
47from . import conftest as utils
58from . import test_media , test_mixins
69
@@ -38,9 +41,9 @@ def test_audio_Artist_attr(artist):
3841 assert utils .is_int (artist .viewCount , gte = 0 )
3942
4043
41- def test_audio_Artist_get (artist , music ):
42- artist == music . searchArtists ( ** { "title" : "Broke For Free" })[ 0 ]
43- artist .title == "Broke For Free "
44+ def test_audio_Artist_get (artist ):
45+ track = artist . get ( album = "Layers" , title = "As Colourful as Ever" )
46+ assert track .title == "As Colourful as Ever "
4447
4548
4649def test_audio_Artist_history (artist ):
@@ -54,6 +57,8 @@ def test_audio_Artist_track(artist):
5457 track = artist .track (album = "Layers" , track = 1 )
5558 assert track .parentTitle == "Layers"
5659 assert track .index == 1
60+ with pytest .raises (BadRequest ):
61+ artist .track ()
5762
5863
5964def test_audio_Artist_tracks (artist ):
@@ -71,6 +76,11 @@ def test_audio_Artist_albums(artist):
7176 assert len (albums ) == 1 and albums [0 ].title == "Layers"
7277
7378
79+ def test_audio_Artist_hubs (artist ):
80+ hubs = artist .hubs ()
81+ assert isinstance (hubs , list )
82+
83+
7484def test_audio_Artist_mixins_edit_advanced_settings (artist ):
7585 test_mixins .edit_advanced_settings (artist )
7686
@@ -119,6 +129,7 @@ def test_audio_Album_attrs(album):
119129 assert utils .is_datetime (album .addedAt )
120130 if album .art :
121131 assert utils .is_art (album .art )
132+ assert isinstance (album .formats , list )
122133 assert isinstance (album .genres , list )
123134 assert album .index == 1
124135 assert utils .is_metadata (album ._initpath )
@@ -136,6 +147,7 @@ def test_audio_Album_attrs(album):
136147 assert album .ratingKey >= 1
137148 assert album ._server ._baseurl == utils .SERVER_BASEURL
138149 assert album .studio == "[no label]"
150+ assert isinstance (album .subformats , list )
139151 assert album .summary == ""
140152 if album .thumb :
141153 assert utils .is_thumb (album .thumb )
@@ -167,6 +179,8 @@ def test_audio_Album_track(album, track=None):
167179 track = track or album .track ("As Colourful As Ever" )
168180 track2 = album .track (track = 1 )
169181 assert track == track2
182+ with pytest .raises (BadRequest ):
183+ album .track ()
170184
171185
172186def test_audio_Album_get (album ):
@@ -233,6 +247,7 @@ def test_audio_Track_attrs(album):
233247 assert utils .is_thumb (track .grandparentThumb )
234248 assert track .grandparentTitle == "Broke For Free"
235249 assert track .guid .startswith ("mbid://" ) or track .guid .startswith ("plex://track/" )
250+ assert track .hasSonicAnalysis is False
236251 assert track .index == 1
237252 assert track .trackNumber == track .index
238253 assert utils .is_metadata (track ._initpath )
@@ -271,6 +286,7 @@ def test_audio_Track_attrs(album):
271286 assert track .viewOffset == 0
272287 assert track .viewedAt is None
273288 assert track .year is None
289+ assert track .url (None ) is None
274290 assert media .aspectRatio is None
275291 assert media .audioChannels == 2
276292 assert media .audioCodec == "mp3"
0 commit comments