2014-03-13 08:20:45 -04:00
|
|
|
"""
|
|
|
|
test.py contains unit tests for tmdbsimple.py
|
|
|
|
|
|
|
|
Fill in Global Variables below before running tests.
|
|
|
|
|
|
|
|
Created by Celia Oakley on 2013-11-05
|
|
|
|
"""
|
|
|
|
|
|
|
|
import unittest
|
|
|
|
import sys
|
|
|
|
|
|
|
|
from tmdb_api import TMDB
|
|
|
|
|
|
|
|
#
|
|
|
|
# Global Variables (fill in or put in keys.py)
|
|
|
|
#
|
|
|
|
TMDB_API_KEY = 'edc5f123313769de83a71e157758030b'
|
|
|
|
|
|
|
|
try:
|
|
|
|
from keys import *
|
|
|
|
except ImportError:
|
|
|
|
pass
|
|
|
|
|
|
|
|
class TVCheck(unittest.TestCase):
|
|
|
|
def testTVInfo(self):
|
|
|
|
id = 1396
|
|
|
|
name = 'UFC'
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
2014-03-13 23:07:15 -04:00
|
|
|
find = tmdb.Find(23281)
|
|
|
|
response = find.info({'external_source': 'tvrage_id'})
|
|
|
|
self.assertTrue(hasattr(response, name))
|
2014-03-13 08:20:45 -04:00
|
|
|
|
|
|
|
def testTVSearch(self):
|
|
|
|
id = 1396
|
|
|
|
name = 'UFC'
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
|
|
|
|
# get TMDB configuration info
|
|
|
|
config = tmdb.Configuration()
|
|
|
|
response = config.info()
|
|
|
|
base_url = response['images']['base_url']
|
|
|
|
sizes = response['images']['poster_sizes']
|
|
|
|
|
|
|
|
def size_str_to_int(x):
|
|
|
|
return float("inf") if x == 'original' else int(x[1:])
|
|
|
|
max_size = max(sizes, key=size_str_to_int)
|
|
|
|
|
|
|
|
# get show ID on TMDB
|
|
|
|
search = tmdb.Search()
|
|
|
|
response = search.collection({'query': name})
|
|
|
|
for result in response['results']:
|
|
|
|
id = result['id']
|
|
|
|
|
|
|
|
# get show images
|
|
|
|
collection = tmdb.Collections(id)
|
|
|
|
response = collection.images()
|
|
|
|
rel_path = response['posters'][0]['file_path']
|
|
|
|
url = "{0}{1}{2}".format(base_url, max_size, rel_path)
|
|
|
|
self.assertTrue(hasattr(response, name))
|
|
|
|
|
|
|
|
def testTVCredits(self):
|
|
|
|
id = 1396
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv = tmdb.TV(id)
|
|
|
|
response = tv.credits()
|
|
|
|
self.assertTrue(hasattr(tv, 'cast'))
|
|
|
|
|
|
|
|
def testTVExternalIds(self):
|
|
|
|
id = 1396
|
|
|
|
imdb_id = 'tt0903747'
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv = tmdb.TV(id)
|
|
|
|
response = tv.external_ids()
|
|
|
|
self.assertEqual(tv.imdb_id, imdb_id)
|
|
|
|
|
|
|
|
def testTVImages(self):
|
|
|
|
id = 1396
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv = tmdb.TV(id)
|
|
|
|
response = tv.images()
|
|
|
|
self.assertTrue(hasattr(tv, 'backdrops'))
|
|
|
|
|
|
|
|
def testTVTranslations(self):
|
|
|
|
id = 1396
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv = tmdb.TV(id)
|
|
|
|
response = tv.translations()
|
|
|
|
self.assertTrue(hasattr(tv, 'translations'))
|
|
|
|
|
|
|
|
def testTVTopRated(self):
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv = tmdb.TV()
|
|
|
|
response = tv.top_rated()
|
|
|
|
self.assertTrue(hasattr(tv, 'results'))
|
|
|
|
|
|
|
|
def testTVPopular(self):
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv = tmdb.TV()
|
|
|
|
response = tv.popular()
|
|
|
|
self.assertTrue(hasattr(tv, 'results'))
|
|
|
|
|
|
|
|
class TVSeasonsCheck(unittest.TestCase):
|
|
|
|
def testTVSeasonsInfo(self):
|
|
|
|
id = 3572
|
|
|
|
season_number = 1
|
|
|
|
name = 'Season 1'
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_seasons = tmdb.TV_Seasons(id, season_number)
|
|
|
|
response = tv_seasons.info()
|
|
|
|
self.assertEqual(tv_seasons.name, name)
|
|
|
|
|
|
|
|
def testTVSeasonsCredits(self):
|
|
|
|
id = 3572
|
|
|
|
season_number = 1
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_seasons = tmdb.TV_Seasons(id, season_number)
|
|
|
|
response = tv_seasons.credits()
|
|
|
|
self.assertTrue(hasattr(tv_seasons, 'crew'))
|
|
|
|
|
|
|
|
def testTVSeasonsExternalIds(self):
|
|
|
|
id = 3572
|
|
|
|
season_number = 1
|
|
|
|
tvdb_id = 2547
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_seasons = tmdb.TV_Seasons(id, season_number)
|
|
|
|
response = tv_seasons.external_ids()
|
|
|
|
self.assertEqual(tv_seasons.tvdb_id, tvdb_id)
|
|
|
|
|
|
|
|
def testTVSeasonsImages(self):
|
|
|
|
id = 3572
|
|
|
|
season_number = 1
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_seasons = tmdb.TV_Seasons(id, season_number)
|
|
|
|
response = tv_seasons.images()
|
|
|
|
self.assertTrue(hasattr(tv_seasons, 'posters'))
|
|
|
|
|
|
|
|
class TVEpisodesCheck(unittest.TestCase):
|
|
|
|
def testTVEpisodesInfo(self):
|
|
|
|
id = 1396
|
|
|
|
season_number = 1
|
|
|
|
episode_number = 1
|
|
|
|
name = 'Pilot'
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_episodes = tmdb.TV_Episodes(id, season_number, episode_number)
|
|
|
|
response = tv_episodes.info()
|
|
|
|
self.assertEqual(tv_episodes.name, name)
|
|
|
|
|
|
|
|
def testTVEpisodesCredits(self):
|
|
|
|
id = 1396
|
|
|
|
season_number = 1
|
|
|
|
episode_number = 1
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_episodes = tmdb.TV_Episodes(id, season_number, episode_number)
|
|
|
|
response = tv_episodes.credits()
|
|
|
|
self.assertTrue(hasattr(tv_episodes, 'guest_stars'))
|
|
|
|
|
|
|
|
def testTVEpisodesExternalIds(self):
|
|
|
|
id = 1396
|
|
|
|
season_number = 1
|
|
|
|
episode_number = 1
|
|
|
|
imdb_id = 'tt0959621'
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_episodes = tmdb.TV_Episodes(id, season_number, episode_number)
|
|
|
|
response = tv_episodes.external_ids()
|
|
|
|
self.assertEqual(tv_episodes.imdb_id, imdb_id)
|
|
|
|
|
|
|
|
def testTVEpisodesImages(self):
|
|
|
|
id = 1396
|
|
|
|
season_number = 1
|
|
|
|
episode_number = 1
|
|
|
|
tmdb = TMDB(TMDB_API_KEY)
|
|
|
|
tv_episodes = tmdb.TV_Episodes(id, season_number, episode_number)
|
|
|
|
response = tv_episodes.images()
|
|
|
|
self.assertTrue(hasattr(tv_episodes, 'stills'))
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
unittest.main()
|
|
|
|
|
|
|
|
# Run with:
|
|
|
|
# python3 test_tmdbsimple.py ConfigurationCheck -v
|
|
|
|
# python3 test_tmdbsimple.py ConfigurationCheck
|
|
|
|
# ... or other Check classes
|
|
|
|
# python3 test_tmdbsimple.py -v
|
|
|
|
# python3 test_tmdbsimple.py
|