добавлены тесты на выброс исключения при наличии поля error в моделях Album, Artist, Cover, Track;
в классе Artist исключение с ошибкой будет выбрасываться при наличии поля reason.
このコミットが含まれているのは:
コミット
79aaadf532
|
@ -1,9 +1,12 @@
|
|||
import pytest
|
||||
|
||||
from yandex_music import Album
|
||||
from yandex_music.exceptions import YandexMusicError
|
||||
|
||||
|
||||
class TestAlbum:
|
||||
id = 5239478
|
||||
error = 'not-found'
|
||||
error = None
|
||||
title = 'In the End'
|
||||
version = 'feat. Mark Van Hoen & Mike Harding'
|
||||
cover_uri = 'avatars.yandex.net/get-music-content/95061/89c14a7d.a.5239478-1/%%'
|
||||
|
@ -47,6 +50,10 @@ class TestAlbum:
|
|||
likes_count = 2
|
||||
available_regions = ['kg', 'tm', 'by', 'kz', 'md', 'ru', 'am', 'ge', 'uz', 'tj', 'il', 'az', 'ua']
|
||||
|
||||
def test_raise_on_model_error(self):
|
||||
with pytest.raises(YandexMusicError):
|
||||
Album(error='not-found')
|
||||
|
||||
def test_expected_values(
|
||||
self,
|
||||
album,
|
||||
|
@ -109,7 +116,7 @@ class TestAlbum:
|
|||
assert Album.de_list({}, client) == []
|
||||
|
||||
def test_de_json_required(self, client):
|
||||
json_dict = {'id': self.id}
|
||||
json_dict = {}
|
||||
album = Album.de_json(json_dict, client)
|
||||
|
||||
def test_de_json_all(self, client, artist, label, track_position, track, album_without_nested_albums, deprecation):
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
import pytest
|
||||
|
||||
from yandex_music import Artist
|
||||
from yandex_music.exceptions import YandexMusicError
|
||||
|
||||
|
||||
class TestArtist:
|
||||
id = 10987
|
||||
error = 'not-found'
|
||||
reason = 'not-found'
|
||||
error = None
|
||||
reason = None
|
||||
name = 'Elvis Presley'
|
||||
various = False
|
||||
composer = None
|
||||
|
@ -29,6 +32,13 @@ class TestArtist:
|
|||
end_date = None
|
||||
ya_money_id = '4100170623944'
|
||||
|
||||
def test_raise_on_model_error(self):
|
||||
with pytest.raises(YandexMusicError):
|
||||
Artist(id=self.id, error='not_found')
|
||||
|
||||
with pytest.raises(YandexMusicError):
|
||||
Artist(id=self.id, reason='not_found')
|
||||
|
||||
def test_expected_values(
|
||||
self, artist, cover, counts, ratings, link, track_without_artists_and_albums, description, artist_decomposed
|
||||
):
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from yandex_music import Cover
|
||||
from yandex_music.exceptions import YandexMusicError
|
||||
|
||||
|
||||
class TestCover:
|
||||
|
@ -14,6 +17,10 @@ class TestCover:
|
|||
copyright_cline = 'imago stock&people'
|
||||
error = None
|
||||
|
||||
def test_raise_on_model_error(self):
|
||||
with pytest.raises(YandexMusicError):
|
||||
Cover(error='not_found')
|
||||
|
||||
def test_expected_values(self, cover):
|
||||
assert cover.type == self.type
|
||||
assert cover.uri == self.uri
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from yandex_music import Track
|
||||
from yandex_music.exceptions import YandexMusicError
|
||||
|
||||
|
||||
class TestTrack:
|
||||
|
@ -37,6 +40,10 @@ class TestTrack:
|
|||
)
|
||||
is_suitable_for_children = True
|
||||
|
||||
def test_raise_on_model_error(self):
|
||||
with pytest.raises(YandexMusicError):
|
||||
Track(id=self.id, error='not-found')
|
||||
|
||||
def test_expected_values(
|
||||
self,
|
||||
track,
|
||||
|
|
|
@ -80,7 +80,7 @@ class Artist(YandexMusicObject):
|
|||
client: 'Client' = None
|
||||
|
||||
def __post_init__(self):
|
||||
if self.error:
|
||||
if self.error or self.reason:
|
||||
raise YandexMusicError(self.error)
|
||||
|
||||
self._id_attrs = (self.id, self.name, self.cover)
|
||||
|
|
読み込み中…
新しいイシューから参照