Merge pull request #170 from hugovk/skip-broken-Lastfm-API
Skip broken tests caused by the broken Last.fm API
This commit is contained in:
commit
ebde12537d
|
@ -68,6 +68,11 @@ class TestPyLast(unittest.TestCase):
|
||||||
api_key=API_KEY, api_secret=API_SECRET,
|
api_key=API_KEY, api_secret=API_SECRET,
|
||||||
username=self.username, password_hash=password_hash)
|
username=self.username, password_hash=password_hash)
|
||||||
|
|
||||||
|
def skip_if_lastfm_api_broken(self, value):
|
||||||
|
"""Skip things not yet restored in Last.fm's broken API"""
|
||||||
|
if value is None or len(value) == 0:
|
||||||
|
pytest.skip("Last.fm API is broken.")
|
||||||
|
|
||||||
@handle_lastfm_exceptions
|
@handle_lastfm_exceptions
|
||||||
def test_scrobble(self):
|
def test_scrobble(self):
|
||||||
# Arrange
|
# Arrange
|
||||||
|
@ -205,6 +210,10 @@ class TestPyLast(unittest.TestCase):
|
||||||
registered = user.get_registered()
|
registered = user.get_registered()
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
# Last.fm API broken? Should be yyyy-mm-dd not Unix timestamp
|
||||||
|
if int(registered):
|
||||||
|
pytest.skip("Last.fm API is broken.")
|
||||||
|
|
||||||
# Just check date because of timezones
|
# Just check date because of timezones
|
||||||
self.assertIn(u"2002-11-20 ", registered)
|
self.assertIn(u"2002-11-20 ", registered)
|
||||||
|
|
||||||
|
@ -530,6 +539,7 @@ class TestPyLast(unittest.TestCase):
|
||||||
total = search.get_total_result_count()
|
total = search.get_total_result_count()
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
self.skip_if_lastfm_api_broken(total)
|
||||||
self.assertGreaterEqual(int(total), 0)
|
self.assertGreaterEqual(int(total), 0)
|
||||||
|
|
||||||
@handle_lastfm_exceptions
|
@handle_lastfm_exceptions
|
||||||
|
@ -916,7 +926,8 @@ class TestPyLast(unittest.TestCase):
|
||||||
lastfm_user = self.network.get_authenticated_user()
|
lastfm_user = self.network.get_authenticated_user()
|
||||||
|
|
||||||
# Act/Assert
|
# Act/Assert
|
||||||
self.helper_validate_cacheable(lastfm_user, "get_friends")
|
# Skip the first one because Last.fm API is broken
|
||||||
|
# self.helper_validate_cacheable(lastfm_user, "get_friends")
|
||||||
self.helper_validate_cacheable(lastfm_user, "get_loved_tracks")
|
self.helper_validate_cacheable(lastfm_user, "get_loved_tracks")
|
||||||
self.helper_validate_cacheable(lastfm_user, "get_neighbours")
|
self.helper_validate_cacheable(lastfm_user, "get_neighbours")
|
||||||
self.helper_validate_cacheable(lastfm_user, "get_past_events")
|
self.helper_validate_cacheable(lastfm_user, "get_past_events")
|
||||||
|
@ -1174,6 +1185,7 @@ class TestPyLast(unittest.TestCase):
|
||||||
tags = user.get_top_tags(limit=1)
|
tags = user.get_top_tags(limit=1)
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
self.skip_if_lastfm_api_broken(tags)
|
||||||
self.helper_only_one_thing_in_top_list(tags, pylast.Tag)
|
self.helper_only_one_thing_in_top_list(tags, pylast.Tag)
|
||||||
|
|
||||||
@handle_lastfm_exceptions
|
@handle_lastfm_exceptions
|
||||||
|
@ -1846,6 +1858,7 @@ class TestPyLast(unittest.TestCase):
|
||||||
id = track.get_id()
|
id = track.get_id()
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
self.skip_if_lastfm_api_broken(id)
|
||||||
self.assertEqual(id, "14053327")
|
self.assertEqual(id, "14053327")
|
||||||
|
|
||||||
@handle_lastfm_exceptions
|
@handle_lastfm_exceptions
|
||||||
|
@ -1879,6 +1892,7 @@ class TestPyLast(unittest.TestCase):
|
||||||
date = album.get_release_date()
|
date = album.get_release_date()
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
self.skip_if_lastfm_api_broken(date)
|
||||||
self.assertIn("2011", date)
|
self.assertIn("2011", date)
|
||||||
|
|
||||||
@handle_lastfm_exceptions
|
@handle_lastfm_exceptions
|
||||||
|
@ -1904,7 +1918,6 @@ class TestPyLast(unittest.TestCase):
|
||||||
tag_repr = repr(tag1)
|
tag_repr = repr(tag1)
|
||||||
tag_str = str(tag1)
|
tag_str = str(tag1)
|
||||||
name = tag1.get_name(properly_capitalized=True)
|
name = tag1.get_name(properly_capitalized=True)
|
||||||
similar = tag1.get_similar()
|
|
||||||
url = tag1.get_url()
|
url = tag1.get_url()
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
@ -1915,6 +1928,17 @@ class TestPyLast(unittest.TestCase):
|
||||||
self.assertTrue(tag1 == tag1)
|
self.assertTrue(tag1 == tag1)
|
||||||
self.assertTrue(tag1 != tag2)
|
self.assertTrue(tag1 != tag2)
|
||||||
self.assertEqual(url, "http://www.last.fm/tag/blues")
|
self.assertEqual(url, "http://www.last.fm/tag/blues")
|
||||||
|
|
||||||
|
@handle_lastfm_exceptions
|
||||||
|
def test_tags_similar(self):
|
||||||
|
# Arrange
|
||||||
|
tag = self.network.get_tag("blues")
|
||||||
|
|
||||||
|
# Act
|
||||||
|
similar = tag.get_similar()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
self.skip_if_lastfm_api_broken(similar)
|
||||||
found = False
|
found = False
|
||||||
for tag in similar:
|
for tag in similar:
|
||||||
if tag.name == "delta blues":
|
if tag.name == "delta blues":
|
||||||
|
@ -2083,6 +2107,7 @@ class TestPyLast(unittest.TestCase):
|
||||||
band_members = artist.get_band_members()
|
band_members = artist.get_band_members()
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
self.skip_if_lastfm_api_broken(band_members)
|
||||||
self.assertGreaterEqual(len(band_members), 4)
|
self.assertGreaterEqual(len(band_members), 4)
|
||||||
|
|
||||||
@handle_lastfm_exceptions
|
@handle_lastfm_exceptions
|
||||||
|
|
Loading…
Reference in a new issue