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