Skip to content

Commit

Permalink
Search audiobooks
Browse files Browse the repository at this point in the history
  • Loading branch information
stephanebruckert committed Jun 23, 2024
1 parent d92951b commit 4b8d068
Showing 1 changed file with 23 additions and 20 deletions.
43 changes: 23 additions & 20 deletions tests/integration/non_user_endpoints/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,14 @@ class AuthTestSpotipy(unittest.TestCase):
heavyweight_ep1_url = 'https://open.spotify.com/episode/68kq3bNz6hEuq8NtdfwERG'
reply_all_ep1_urn = 'spotify:episode:1KHjbpnmNpFmNTczQmTZlR'

american_gods_urn = 'spotify:audiobook:1IcM9Untg6d3ktuwObYGcN'
american_gods_id = '1IcM9Untg6d3ktuwObYGcN'
american_gods_url = 'https://open.spotify.com/audiobook/1IcM9Untg6d3ktuwObYGcN'

four_books = [
'spotify:audiobook:1IcM9Untg6d3ktuwObYGcN',
'spotify:audiobook:37sRC6carIX2Vf3Vv716T7',
'spotify:audiobook:1Gep4UJ95xQawA55OgRI8n',
'spotify:audiobook:4Sm381mcf5gBsi9yfhqgVB']
# The following audiobooks are currently available in the GB market
# but might not be in other markets
dune_urn = 'spotify:audiobook:7iHfbu1YPACw6oZPAFJtqe'
dune_id = '7iHfbu1YPACw6oZPAFJtqe'
dune_url = 'https://open.spotify.com/audiobook/7iHfbu1YPACw6oZPAFJtqe'
two_books = [
'spotify:audiobook:7iHfbu1YPACw6oZPAFJtqe',
'spotify:audiobook:67VtmjZitn25TWocsyAEyh']

@classmethod
def setUpClass(self):
Expand Down Expand Up @@ -337,7 +336,7 @@ def test_artist_albums(self):

def find_album():
for album in results['items']:
if album['name'] == 'Death to False Metal':
if 'Weezer' in album['name']: # Weezer has many albums containing Weezer
return True
return False

Expand Down Expand Up @@ -484,28 +483,32 @@ def test_available_markets(self):
self.assertIn("US", markets)
self.assertIn("GB", markets)

def test_artist_search(self):
results = self.spotify.search(q='test', type='audiobook')
from pprint import pprint
pprint(results)
self.assertTrue('audiobooks' in results)

def test_get_audiobook(self):
audiobook = self.spotify.get_audiobook(self.american_gods_urn, market="US")
audiobook = self.spotify.get_audiobook(self.dune_urn, market="US")
self.assertTrue(audiobook['name'] ==
'American Gods: The Tenth Anniversary Edition: A Novel')
'Dune: Book One in the Dune Chronicles')

def test_get_audiobook_bad_urn(self):
with self.assertRaises(SpotifyException):
self.spotify.get_audiobook("bogus_urn", market="US")

def test_get_audiobooks(self):
results = self.spotify.get_audiobooks(self.four_books, market="US")
results = self.spotify.get_audiobooks(self.two_books, market="US")
self.assertTrue('audiobooks' in results)
self.assertTrue(len(results['audiobooks']) == 4)
self.assertTrue(results['audiobooks'][0]['name'] ==
'American Gods: The Tenth Anniversary Edition: A Novel')
self.assertTrue(results['audiobooks'][1]['name'] == 'The Da Vinci Code: A Novel')
self.assertTrue(results['audiobooks'][2]['name'] == 'Outlander')
self.assertTrue(results['audiobooks'][3]['name'] == 'Pachinko: A Novel')
self.assertTrue(len(results['audiobooks']) == 2)
self.assertTrue(results['audiobooks'][0]['name']
== 'Dune: Book One in the Dune Chronicles')
self.assertTrue(results['audiobooks'][1]['name'] == 'The Helper')

def test_get_audiobook_chapters(self):
results = self.spotify.get_audiobook_chapters(
self.american_gods_urn, market="US", limit=10, offset=5)
self.dune_urn, market="US", limit=10, offset=5)
self.assertTrue('items' in results)
self.assertTrue(len(results['items']) == 10)
self.assertTrue(results['items'][0]['chapter_number'] == 5)
Expand Down

0 comments on commit 4b8d068

Please sign in to comment.