diff --git a/src/test/java/com/omertron/themoviedbapi/TheMovieDbApiTest.java b/src/test/java/com/omertron/themoviedbapi/TheMovieDbApiTest.java
index 5d4491160..8d3c207a8 100644
--- a/src/test/java/com/omertron/themoviedbapi/TheMovieDbApiTest.java
+++ b/src/test/java/com/omertron/themoviedbapi/TheMovieDbApiTest.java
@@ -1,786 +1,786 @@
-/*
- * Copyright (c) 2004-2013 Stuart Boston
- *
- * This file is part of TheMovieDB API.
- *
- * TheMovieDB API is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * any later version.
- *
- * TheMovieDB API is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with TheMovieDB API. If not, see .
- *
- */
-package com.omertron.themoviedbapi;
-
-import com.omertron.themoviedbapi.model.AlternativeTitle;
-import com.omertron.themoviedbapi.model.Artwork;
-import com.omertron.themoviedbapi.model.ChangedItem;
-import com.omertron.themoviedbapi.model.Collection;
-import com.omertron.themoviedbapi.model.CollectionInfo;
-import com.omertron.themoviedbapi.model.Company;
-import com.omertron.themoviedbapi.model.Discover;
-import com.omertron.themoviedbapi.model.Genre;
-import com.omertron.themoviedbapi.model.JobDepartment;
-import com.omertron.themoviedbapi.model.Keyword;
-import com.omertron.themoviedbapi.model.KeywordMovie;
-import com.omertron.themoviedbapi.model.MovieDb;
-import com.omertron.themoviedbapi.model.MovieDbList;
-import com.omertron.themoviedbapi.model.MovieList;
-import com.omertron.themoviedbapi.model.Person;
-import com.omertron.themoviedbapi.model.PersonCredit;
-import com.omertron.themoviedbapi.model.ReleaseInfo;
-import com.omertron.themoviedbapi.model.Reviews;
-import com.omertron.themoviedbapi.model.TmdbConfiguration;
-import com.omertron.themoviedbapi.model.TokenAuthorisation;
-import com.omertron.themoviedbapi.model.TokenSession;
-import com.omertron.themoviedbapi.model.Trailer;
-import com.omertron.themoviedbapi.model.Translation;
-import com.omertron.themoviedbapi.results.TmdbResultsList;
-import com.omertron.themoviedbapi.results.TmdbResultsMap;
-import java.io.IOException;
-import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-import org.junit.*;
-import static org.junit.Assert.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Test cases for TheMovieDbApi API
- *
- * @author stuart.boston
- */
-public class TheMovieDbApiTest {
-
- // Logger
- private static final Logger LOG = LoggerFactory.getLogger(TheMovieDbApiTest.class);
- // API Key
- private static final String API_KEY = "5a1a77e2eba8984804586122754f969f";
- private static TheMovieDbApi tmdb;
- // Test data
- private static final int ID_MOVIE_BLADE_RUNNER = 78;
- private static final int ID_MOVIE_THE_AVENGERS = 24428;
- private static final int ID_COLLECTION_STAR_WARS = 10;
- private static final int ID_PERSON_BRUCE_WILLIS = 62;
- private static final int ID_COMPANY_LUCASFILM = 1;
- private static final String COMPANY_NAME = "Marvel Studios";
- private static final int ID_GENRE_ACTION = 28;
- private static final String ID_KEYWORD = "1721";
- // Languages
- private static final String LANGUAGE_DEFAULT = "";
- private static final String LANGUAGE_ENGLISH = "en";
- private static final String LANGUAGE_RUSSIAN = "ru";
-
- public TheMovieDbApiTest() throws MovieDbException {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- tmdb = new TheMovieDbApi(API_KEY);
- TestLogger.Configure();
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() {
- }
-
- @After
- public void tearDown() {
- }
-
- /**
- * Test of getConfiguration method, of class TheMovieDbApi.
- */
- @Test
- public void testConfiguration() throws IOException {
- LOG.info("Test Configuration");
-
- TmdbConfiguration tmdbConfig = tmdb.getConfiguration();
- assertNotNull("Configuration failed", tmdbConfig);
- assertTrue("No base URL", StringUtils.isNotBlank(tmdbConfig.getBaseUrl()));
- assertTrue("No backdrop sizes", tmdbConfig.getBackdropSizes().size() > 0);
- assertTrue("No poster sizes", tmdbConfig.getPosterSizes().size() > 0);
- assertTrue("No profile sizes", tmdbConfig.getProfileSizes().size() > 0);
- LOG.info(tmdbConfig.toString());
- }
-
- /**
- * Test of searchMovie method, of class TheMovieDbApi.
- */
- @Test
- public void testSearchMovie() throws MovieDbException {
- LOG.info("searchMovie");
-
- // Try a movie with less than 1 page of results
- TmdbResultsList movieList = tmdb.searchMovie("Blade Runner", 0, "", true, 0);
-// List movieList = tmdb.searchMovie("Blade Runner", "", true);
- assertTrue("No movies found, should be at least 1", movieList.getResults().size() > 0);
-
- // Try a russian langugage movie
- movieList = tmdb.searchMovie("О чём говорят мужчины", 0, LANGUAGE_RUSSIAN, true, 0);
- assertTrue("No 'RU' movies found, should be at least 1", movieList.getResults().size() > 0);
-
- // Try a movie with more than 20 results
- movieList = tmdb.searchMovie("Star Wars", 0, LANGUAGE_ENGLISH, false, 0);
- assertTrue("Not enough movies found, should be over 15, found " + movieList.getResults().size(), movieList.getResults().size() >= 15);
- }
-
- /**
- * Test of getMovieInfo method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieInfo() throws MovieDbException {
- LOG.info("getMovieInfo");
- MovieDb result = tmdb.getMovieInfo(ID_MOVIE_BLADE_RUNNER, LANGUAGE_ENGLISH, "alternative_titles,casts,images,keywords,releases,trailers,translations,similar_movies,reviews,lists");
- assertEquals("Incorrect movie information", "Blade Runner", result.getOriginalTitle());
- }
-
- /**
- * Test of getMovieAlternativeTitles method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieAlternativeTitles() throws MovieDbException {
- LOG.info("getMovieAlternativeTitles");
- String country = "";
- TmdbResultsList result = tmdb.getMovieAlternativeTitles(ID_MOVIE_BLADE_RUNNER, country, "casts,images,keywords,releases,trailers,translations,similar_movies,reviews,lists");
- assertTrue("No alternative titles found", result.getResults().size() > 0);
-
- country = "US";
- result = tmdb.getMovieAlternativeTitles(ID_MOVIE_BLADE_RUNNER, country);
- assertTrue("No alternative titles found", result.getResults().size() > 0);
-
- }
-
- /**
- * Test of getMovieCasts method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieCasts() throws MovieDbException {
- LOG.info("getMovieCasts");
- TmdbResultsList people = tmdb.getMovieCasts(ID_MOVIE_BLADE_RUNNER, "alternative_titles,casts,images,keywords,releases,trailers,translations,similar_movies,reviews,lists");
- assertTrue("No cast information", people.getResults().size() > 0);
-
- String name1 = "Harrison Ford";
- String name2 = "Charles Knode";
- boolean foundName1 = Boolean.FALSE;
- boolean foundName2 = Boolean.FALSE;
-
- for (Person person : people.getResults()) {
- if (!foundName1 && person.getName().equalsIgnoreCase(name1)) {
- foundName1 = Boolean.TRUE;
- }
-
- if (!foundName2 && person.getName().equalsIgnoreCase(name2)) {
- foundName2 = Boolean.TRUE;
- }
- }
- assertTrue("Couldn't find " + name1, foundName1);
- assertTrue("Couldn't find " + name2, foundName2);
- }
-
- /**
- * Test of getMovieImages method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieImages() throws MovieDbException {
- LOG.info("getMovieImages");
- String language = "";
- TmdbResultsList result = tmdb.getMovieImages(ID_MOVIE_BLADE_RUNNER, language);
- assertFalse("No artwork found", result.getResults().isEmpty());
- }
-
- /**
- * Test of getMovieKeywords method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieKeywords() throws MovieDbException {
- LOG.info("getMovieKeywords");
- TmdbResultsList result = tmdb.getMovieKeywords(ID_MOVIE_BLADE_RUNNER);
- assertFalse("No keywords found", result.getResults().isEmpty());
- }
-
- /**
- * Test of getMovieReleaseInfo method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieReleaseInfo() throws MovieDbException {
- LOG.info("getMovieReleaseInfo");
- TmdbResultsList result = tmdb.getMovieReleaseInfo(ID_MOVIE_BLADE_RUNNER, "");
- assertFalse("Release information missing", result.getResults().isEmpty());
- }
-
- /**
- * Test of getMovieTrailers method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieTrailers() throws MovieDbException {
- LOG.info("getMovieTrailers");
- TmdbResultsList result = tmdb.getMovieTrailers(ID_MOVIE_BLADE_RUNNER, "");
- assertFalse("Movie trailers missing", result.getResults().isEmpty());
- }
-
- /**
- * Test of getMovieTranslations method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieTranslations() throws MovieDbException {
- LOG.info("getMovieTranslations");
- TmdbResultsList result = tmdb.getMovieTranslations(ID_MOVIE_BLADE_RUNNER);
- assertFalse("No translations found", result.getResults().isEmpty());
- }
-
- /**
- * Test of getCollectionInfo method, of class TheMovieDbApi.
- */
- @Test
- public void testGetCollectionInfo() throws MovieDbException {
- LOG.info("getCollectionInfo");
- String language = "";
- CollectionInfo result = tmdb.getCollectionInfo(ID_COLLECTION_STAR_WARS, language);
- assertFalse("No collection information", result.getParts().isEmpty());
- }
-
- /**
- * Test of createImageUrl method, of class TheMovieDbApi.
- *
- * @throws MovieDbException
- */
- @Test
- public void testCreateImageUrl() throws MovieDbException {
- LOG.info("createImageUrl");
- MovieDb movie = tmdb.getMovieInfo(ID_MOVIE_BLADE_RUNNER, "");
- String result = tmdb.createImageUrl(movie.getPosterPath(), "original").toString();
- assertTrue("Error compiling image URL", !result.isEmpty());
- }
-
- /**
- * Test of getMovieInfoImdb method, of class TheMovieDbApi.
- */
- @Test
- public void testGetMovieInfoImdb() throws MovieDbException {
- LOG.info("getMovieInfoImdb");
- MovieDb result = tmdb.getMovieInfoImdb("tt0076759", "en-US");
- assertTrue("Error getting the movie from IMDB ID", result.getId() == 11);
- }
-
- /**
- * Test of getApiKey method, of class TheMovieDbApi.
- */
- @Test
- public void testGetApiKey() {
- // Not required
- }
-
- /**
- * Test of getApiBase method, of class TheMovieDbApi.
- */
- @Test
- public void testGetApiBase() {
- // Not required
- }
-
- /**
- * Test of getConfiguration method, of class TheMovieDbApi.
- */
- @Test
- public void testGetConfiguration() {
- // Not required
- }
-
- /**
- * Test of searchPeople method, of class TheMovieDbApi.
- */
- @Test
- public void testSearchPeople() throws MovieDbException {
- LOG.info("searchPeople");
- String personName = "Bruce Willis";
- boolean includeAdult = false;
- TmdbResultsList result = tmdb.searchPeople(personName, includeAdult, 0);
- assertTrue("Couldn't find the person", result.getResults().size() > 0);
- }
-
- /**
- * Test of getPersonInfo method, of class TheMovieDbApi.
- */
- @Test
- public void testGetPersonInfo() throws MovieDbException {
- LOG.info("getPersonInfo");
- Person result = tmdb.getPersonInfo(ID_PERSON_BRUCE_WILLIS);
- assertTrue("Wrong actor returned", result.getId() == ID_PERSON_BRUCE_WILLIS);
- }
-
- /**
- * Test of getPersonCredits method, of class TheMovieDbApi.
- */
- @Test
- public void testGetPersonCredits() throws MovieDbException {
- LOG.info("getPersonCredits");
-
- TmdbResultsList result = tmdb.getPersonCredits(ID_PERSON_BRUCE_WILLIS);
- assertTrue("No cast information", result.getResults().size() > 0);
- }
-
- /**
- * Test of getPersonImages method, of class TheMovieDbApi.
- */
- @Test
- public void testGetPersonImages() throws MovieDbException {
- LOG.info("getPersonImages");
-
- TmdbResultsList result = tmdb.getPersonImages(ID_PERSON_BRUCE_WILLIS);
- assertTrue("No cast information", result.getResults().size() > 0);
- }
-
- /**
- * Test of getLatestMovie method, of class TheMovieDbApi.
- */
- @Test
- public void testGetLatestMovie() throws MovieDbException {
- LOG.info("getLatestMovie");
- MovieDb result = tmdb.getLatestMovie();
- assertTrue("No latest movie found", result != null);
- assertTrue("No latest movie found", result.getId() > 0);
- }
-
- /**
- * Test of compareMovies method, of class TheMovieDbApi.
- */
- @Test
- public void testCompareMovies() {
- // Not required
- }
-
- /**
- * Test of setProxy method, of class TheMovieDbApi.
- */
- @Test
- public void testSetProxy() {
- // Not required
- }
-
- /**
- * Test of setTimeout method, of class TheMovieDbApi.
- */
- @Test
- public void testSetTimeout() {
- // Not required
- }
-
- /**
- * Test of getNowPlayingMovies method, of class TheMovieDbApi.
- */
- @Test
- public void testGetNowPlayingMovies() throws MovieDbException {
- LOG.info("getNowPlayingMovies");
- TmdbResultsList result = tmdb.getNowPlayingMovies(LANGUAGE_DEFAULT, 0);
- assertTrue("No now playing movies found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getPopularMovieList method, of class TheMovieDbApi.
- */
- @Test
- public void testGetPopularMovieList() throws MovieDbException {
- LOG.info("getPopularMovieList");
- TmdbResultsList result = tmdb.getPopularMovieList(LANGUAGE_DEFAULT, 0);
- assertTrue("No popular movies found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getTopRatedMovies method, of class TheMovieDbApi.
- */
- @Test
- public void testGetTopRatedMovies() throws MovieDbException {
- LOG.info("getTopRatedMovies");
- TmdbResultsList result = tmdb.getTopRatedMovies(LANGUAGE_DEFAULT, 0);
- assertTrue("No top rated movies found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getCompanyInfo method, of class TheMovieDbApi.
- */
- @Test
- public void testGetCompanyInfo() throws MovieDbException {
- LOG.info("getCompanyInfo");
- Company company = tmdb.getCompanyInfo(ID_COMPANY_LUCASFILM);
- assertTrue("No company information found", company.getCompanyId() > 0);
- }
-
- /**
- * Test of getCompanyMovies method, of class TheMovieDbApi.
- */
- @Test
- public void testGetCompanyMovies() throws MovieDbException {
- LOG.info("getCompanyMovies");
- TmdbResultsList result = tmdb.getCompanyMovies(ID_COMPANY_LUCASFILM, LANGUAGE_DEFAULT, 0);
- assertTrue("No company movies found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of searchCompanies method, of class TheMovieDbApi.
- */
- @Test
- public void testSearchCompanies() throws MovieDbException {
- LOG.info("searchCompanies");
- TmdbResultsList result = tmdb.searchCompanies(COMPANY_NAME, 0);
- assertTrue("No company information found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getSimilarMovies method, of class TheMovieDbApi.
- */
- @Test
- public void testGetSimilarMovies() throws MovieDbException {
- LOG.info("getSimilarMovies");
- TmdbResultsList result = tmdb.getSimilarMovies(ID_MOVIE_BLADE_RUNNER, LANGUAGE_DEFAULT, 0);
- assertTrue("No similar movies found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getGenreList method, of class TheMovieDbApi.
- */
- @Test
- public void testGetGenreList() throws MovieDbException {
- LOG.info("getGenreList");
- TmdbResultsList result = tmdb.getGenreList(LANGUAGE_DEFAULT);
- assertTrue("No genres found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getGenreMovies method, of class TheMovieDbApi.
- */
- @Test
- public void testGetGenreMovies() throws MovieDbException {
- LOG.info("getGenreMovies");
- TmdbResultsList result = tmdb.getGenreMovies(ID_GENRE_ACTION, LANGUAGE_DEFAULT, 0, Boolean.TRUE);
- assertTrue("No genre movies found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getUpcoming method, of class TheMovieDbApi.
- */
- @Test
- public void testGetUpcoming() throws Exception {
- LOG.info("getUpcoming");
- TmdbResultsList result = tmdb.getUpcoming(LANGUAGE_DEFAULT, 0);
- assertTrue("No upcoming movies found", !result.getResults().isEmpty());
- }
-
- /**
- * Test of getCollectionImages method, of class TheMovieDbApi.
- */
- @Test
- public void testGetCollectionImages() throws Exception {
- LOG.info("getCollectionImages");
- TmdbResultsList result = tmdb.getCollectionImages(ID_COLLECTION_STAR_WARS, LANGUAGE_DEFAULT);
- assertFalse("No artwork found", result.getResults().isEmpty());
- }
-
- /**
- * Test of getAuthorisationToken method, of class TheMovieDbApi.
- */
- @Test
- public void testGetAuthorisationToken() throws Exception {
- LOG.info("getAuthorisationToken");
- TokenAuthorisation result = tmdb.getAuthorisationToken();
- assertFalse("Token is null", result == null);
- assertTrue("Token is not valid", result.getSuccess());
- LOG.info(result.toString());
- }
-
- /**
- * Test of getSessionToken method, of class TheMovieDbApi.
- *
- * TODO: Cannot be tested without a HTTP authorisation: http://help.themoviedb.org/kb/api/user-authentication
- */
- public void testGetSessionToken() throws Exception {
- LOG.info("getSessionToken");
- TokenAuthorisation token = tmdb.getAuthorisationToken();
- assertFalse("Token is null", token == null);
- assertTrue("Token is not valid", token.getSuccess());
- LOG.info(token.toString());
-
- TokenSession result = tmdb.getSessionToken(token);
- assertFalse("Session token is null", result == null);
- assertTrue("Session token is not valid", result.getSuccess());
- LOG.info(result.toString());
- }
-
- /**
- * Test of getGuestSessionToken method, of class TheMovieDbApi.
- */
- @Ignore("Not ready yet")
- public void testGetGuestSessionToken() throws Exception {
- LOG.info("getGuestSessionToken");
- TokenSession result = tmdb.getGuestSessionToken();
-
- assertTrue("Failed to get guest session", result.getSuccess());
- }
-
- @Test
- public void testGetMovieLists() throws Exception {
- LOG.info("getMovieLists");
- TmdbResultsList result = tmdb.getMovieLists(ID_MOVIE_BLADE_RUNNER, LANGUAGE_ENGLISH, 0);
- assertNotNull("No results found", result);
- assertTrue("No results found", result.getResults().size() > 0);
- }
-
- /**
- * Test of getMovieChanges method,of class TheMovieDbApi
- *
- * TODO: Do not test this until it is fixed
- */
- @Test
- public void testGetMovieChanges() throws Exception {
- LOG.info("getMovieChanges");
-
- String startDate = "";
- String endDate = null;
-
- // Get some popular movies
- TmdbResultsList movieList = tmdb.getPopularMovieList(LANGUAGE_DEFAULT, 0);
- for (MovieDb movie : movieList.getResults()) {
- TmdbResultsMap> result = tmdb.getMovieChanges(movie.getId(), startDate, endDate);
- LOG.info("{} has {} changes.", movie.getTitle(), result.getResults().size());
- assertTrue("No changes found", result.getResults().size() > 0);
- break;
- }
- }
-
- @Test
- public void testGetPersonLatest() throws Exception {
- LOG.info("getPersonLatest");
-
- Person result = tmdb.getPersonLatest();
-
- assertNotNull("No results found", result);
- assertTrue("No results found", StringUtils.isNotBlank(result.getName()));
- }
-
- /**
- * Test of searchCollection method, of class TheMovieDbApi.
- */
- @Test
- public void testSearchCollection() throws Exception {
- LOG.info("searchCollection");
- String query = "batman";
- int page = 0;
- TmdbResultsList result = tmdb.searchCollection(query, LANGUAGE_DEFAULT, page);
- assertFalse("No collections found", result == null);
- assertTrue("No collections found", result.getResults().size() > 0);
- }
-
- /**
- * Test of searchList method, of class TheMovieDbApi.
- */
- @Test
- public void testSearchList() throws Exception {
- LOG.info("searchList");
- String query = "watch";
- int page = 0;
- TmdbResultsList result = tmdb.searchList(query, LANGUAGE_DEFAULT, page);
- assertFalse("No lists found", result.getResults() == null);
- assertTrue("No lists found", result.getResults().size() > 0);
- }
-
- /**
- * Test of searchKeyword method, of class TheMovieDbApi.
- */
- @Test
- public void testSearchKeyword() throws Exception {
- LOG.info("searchKeyword");
- String query = "action";
- int page = 0;
- TmdbResultsList result = tmdb.searchKeyword(query, page);
- assertFalse("No keywords found", result.getResults() == null);
- assertTrue("No keywords found", result.getResults().size() > 0);
- }
-
- /**
- * Test of postMovieRating method, of class TheMovieDbApi.
- *
- * TODO: Cannot be tested without a HTTP authorisation: http://help.themoviedb.org/kb/api/user-authentication
- */
- @Ignore("Not ready yet")
- public void testPostMovieRating() throws Exception {
- LOG.info("postMovieRating");
- String sessionId = "";
- String rating = "";
- boolean expResult = false;
- boolean result = tmdb.postMovieRating(sessionId, rating);
- assertEquals(expResult, result);
- // TODO review the generated test code and remove the default call to fail.
- fail("The test case is a prototype.");
- }
-
- /**
- * Test of getPersonChanges method, of class TheMovieDbApi.
- *
- */
- @Ignore("Not ready yet")
- public void testGetPersonChanges() throws Exception {
- LOG.info("getPersonChanges");
- String startDate = "";
- String endDate = "";
- tmdb.getPersonChanges(ID_PERSON_BRUCE_WILLIS, startDate, endDate);
- }
-
- /**
- * Test of getList method, of class TheMovieDbApi.
- */
- @Test
- public void testGetList() throws Exception {
- LOG.info("getList");
- String listId = "509ec17b19c2950a0600050d";
- MovieDbList result = tmdb.getList(listId);
- assertFalse("List not found", result.getItems().isEmpty());
- }
-
- /**
- * Test of getKeyword method, of class TheMovieDbApi.
- */
- @Test
- public void testGetKeyword() throws Exception {
- LOG.info("getKeyword");
- Keyword result = tmdb.getKeyword(ID_KEYWORD);
- assertEquals("fight", result.getName());
- }
-
- /**
- * Test of getKeywordMovies method, of class TheMovieDbApi.
- */
- @Test
- public void testGetKeywordMovies() throws Exception {
- LOG.info("getKeywordMovies");
- int page = 0;
- TmdbResultsList result = tmdb.getKeywordMovies(ID_KEYWORD, LANGUAGE_DEFAULT, page);
- assertFalse("No keyword movies found", result.getResults().isEmpty());
- }
-
- /**
- * Test of getReviews method, of class TheMovieDbApi.
- */
- @Test
- public void testGetReviews() throws Exception {
- LOG.info("getReviews");
- int page = 0;
- TmdbResultsList result = tmdb.getReviews(ID_MOVIE_THE_AVENGERS, LANGUAGE_DEFAULT, page);
-
- assertFalse("No reviews found", result.getResults().isEmpty());
- }
-
- /**
- * Test of compareMovies method, of class TheMovieDbApi.
- */
- @Ignore("Not required")
- public void testCompareMovies_3args() {
- }
-
- /**
- * Test of compareMovies method, of class TheMovieDbApi.
- */
- @Ignore("Not required")
- public void testCompareMovies_4args() {
- }
-
- /**
- * Test of getPersonPopular method, of class TheMovieDbApi.
- */
- @Ignore("Not required")
- public void testGetPersonPopular_0args() throws Exception {
- }
-
- /**
- * Test of getPersonPopular method, of class TheMovieDbApi.
- */
- @Test
- public void testGetPersonPopular_int() throws Exception {
- LOG.info("getPersonPopular");
- int page = 0;
- TmdbResultsList result = tmdb.getPersonPopular(page);
- assertFalse("No popular people", result.getResults().isEmpty());
- }
-
- /**
- * Test of getGenreMovies method, of class TheMovieDbApi.
- */
- @Ignore("Not required")
- public void testGetGenreMovies_3args() throws Exception {
- }
-
- /**
- * Test of getGenreMovies method, of class TheMovieDbApi.
- */
- @Ignore("Not required")
- public void testGetGenreMovies_4args() throws Exception {
- }
-
- /**
- * Test of getMovieChangesList method, of class TheMovieDbApi.
- */
- @Ignore("Not ready yet")
- public void testGetMovieChangesList() throws Exception {
- LOG.info("getMovieChangesList");
- int page = 0;
- String startDate = "";
- String endDate = "";
- tmdb.getMovieChangesList(page, startDate, endDate);
- // TODO review the generated test code and remove the default call to fail.
- fail("The test case is a prototype.");
- }
-
- /**
- * Test of getPersonChangesList method, of class TheMovieDbApi.
- */
- @Ignore("Not ready yet")
- public void testGetPersonChangesList() throws Exception {
- LOG.info("getPersonChangesList");
- int page = 0;
- String startDate = "";
- String endDate = "";
- tmdb.getPersonChangesList(page, startDate, endDate);
- // TODO review the generated test code and remove the default call to fail.
- fail("The test case is a prototype.");
- }
-
- /**
- * Test of getJobs method, of class TheMovieDbApi.
- */
- @Test
- public void testGetJobs() throws Exception {
- LOG.info("getJobs");
- TmdbResultsList result = tmdb.getJobs();
- assertFalse("No jobs found", result.getResults().isEmpty());
- }
-
- /**
- * Test of getDiscover method, of class TheMovieDbApi.
- */
- @Ignore("Not required")
- public void testGetDiscover_14args() throws Exception {
- }
-
- /**
- * Test of getDiscover method, of class TheMovieDbApi.
- */
- @Test
- public void testGetDiscover_Discover() throws Exception {
- LOG.info("getDiscover");
- Discover discover = new Discover();
- discover.year(2013).language(LANGUAGE_ENGLISH);
-
- TmdbResultsList result = tmdb.getDiscover(discover);
- assertFalse("No movies discovered", result.getResults().isEmpty());
- }
-}
+/*
+ * Copyright (c) 2004-2013 Stuart Boston
+ *
+ * This file is part of TheMovieDB API.
+ *
+ * TheMovieDB API is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * TheMovieDB API is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with TheMovieDB API. If not, see .
+ *
+ */
+package com.omertron.themoviedbapi;
+
+import com.omertron.themoviedbapi.model.AlternativeTitle;
+import com.omertron.themoviedbapi.model.Artwork;
+import com.omertron.themoviedbapi.model.ChangedItem;
+import com.omertron.themoviedbapi.model.Collection;
+import com.omertron.themoviedbapi.model.CollectionInfo;
+import com.omertron.themoviedbapi.model.Company;
+import com.omertron.themoviedbapi.model.Discover;
+import com.omertron.themoviedbapi.model.Genre;
+import com.omertron.themoviedbapi.model.JobDepartment;
+import com.omertron.themoviedbapi.model.Keyword;
+import com.omertron.themoviedbapi.model.KeywordMovie;
+import com.omertron.themoviedbapi.model.MovieDb;
+import com.omertron.themoviedbapi.model.MovieDbList;
+import com.omertron.themoviedbapi.model.MovieList;
+import com.omertron.themoviedbapi.model.Person;
+import com.omertron.themoviedbapi.model.PersonCredit;
+import com.omertron.themoviedbapi.model.ReleaseInfo;
+import com.omertron.themoviedbapi.model.Reviews;
+import com.omertron.themoviedbapi.model.TmdbConfiguration;
+import com.omertron.themoviedbapi.model.TokenAuthorisation;
+import com.omertron.themoviedbapi.model.TokenSession;
+import com.omertron.themoviedbapi.model.Trailer;
+import com.omertron.themoviedbapi.model.Translation;
+import com.omertron.themoviedbapi.results.TmdbResultsList;
+import com.omertron.themoviedbapi.results.TmdbResultsMap;
+import java.io.IOException;
+import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Test cases for TheMovieDbApi API
+ *
+ * @author stuart.boston
+ */
+public class TheMovieDbApiTest {
+
+ // Logger
+ private static final Logger LOG = LoggerFactory.getLogger(TheMovieDbApiTest.class);
+ // API Key
+ private static final String API_KEY = "5a1a77e2eba8984804586122754f969f";
+ private static TheMovieDbApi tmdb;
+ // Test data
+ private static final int ID_MOVIE_BLADE_RUNNER = 78;
+ private static final int ID_MOVIE_THE_AVENGERS = 24428;
+ private static final int ID_COLLECTION_STAR_WARS = 10;
+ private static final int ID_PERSON_BRUCE_WILLIS = 62;
+ private static final int ID_COMPANY_LUCASFILM = 1;
+ private static final String COMPANY_NAME = "Marvel Studios";
+ private static final int ID_GENRE_ACTION = 28;
+ private static final String ID_KEYWORD = "1721";
+ // Languages
+ private static final String LANGUAGE_DEFAULT = "";
+ private static final String LANGUAGE_ENGLISH = "en";
+ private static final String LANGUAGE_RUSSIAN = "ru";
+
+ public TheMovieDbApiTest() throws MovieDbException {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ tmdb = new TheMovieDbApi(API_KEY);
+ TestLogger.Configure();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of getConfiguration method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testConfiguration() throws IOException {
+ LOG.info("Test Configuration");
+
+ TmdbConfiguration tmdbConfig = tmdb.getConfiguration();
+ assertNotNull("Configuration failed", tmdbConfig);
+ assertTrue("No base URL", StringUtils.isNotBlank(tmdbConfig.getBaseUrl()));
+ assertTrue("No backdrop sizes", tmdbConfig.getBackdropSizes().size() > 0);
+ assertTrue("No poster sizes", tmdbConfig.getPosterSizes().size() > 0);
+ assertTrue("No profile sizes", tmdbConfig.getProfileSizes().size() > 0);
+ LOG.info(tmdbConfig.toString());
+ }
+
+ /**
+ * Test of searchMovie method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSearchMovie() throws MovieDbException {
+ LOG.info("searchMovie");
+
+ // Try a movie with less than 1 page of results
+ TmdbResultsList movieList = tmdb.searchMovie("Blade Runner", 0, "", true, 0);
+// List movieList = tmdb.searchMovie("Blade Runner", "", true);
+ assertTrue("No movies found, should be at least 1", movieList.getResults().size() > 0);
+
+ // Try a russian langugage movie
+ movieList = tmdb.searchMovie("О чём говорят мужчины", 0, LANGUAGE_RUSSIAN, true, 0);
+ assertTrue("No 'RU' movies found, should be at least 1", movieList.getResults().size() > 0);
+
+ // Try a movie with more than 20 results
+ movieList = tmdb.searchMovie("Star Wars", 0, LANGUAGE_ENGLISH, false, 0);
+ assertTrue("Not enough movies found, should be over 15, found " + movieList.getResults().size(), movieList.getResults().size() >= 15);
+ }
+
+ /**
+ * Test of getMovieInfo method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieInfo() throws MovieDbException {
+ LOG.info("getMovieInfo");
+ MovieDb result = tmdb.getMovieInfo(ID_MOVIE_BLADE_RUNNER, LANGUAGE_ENGLISH, "alternative_titles,casts,images,keywords,releases,trailers,translations,similar_movies,reviews,lists");
+ assertEquals("Incorrect movie information", "Blade Runner", result.getOriginalTitle());
+ }
+
+ /**
+ * Test of getMovieAlternativeTitles method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieAlternativeTitles() throws MovieDbException {
+ LOG.info("getMovieAlternativeTitles");
+ String country = "";
+ TmdbResultsList result = tmdb.getMovieAlternativeTitles(ID_MOVIE_BLADE_RUNNER, country, "casts,images,keywords,releases,trailers,translations,similar_movies,reviews,lists");
+ assertTrue("No alternative titles found", result.getResults().size() > 0);
+
+ country = "US";
+ result = tmdb.getMovieAlternativeTitles(ID_MOVIE_BLADE_RUNNER, country);
+ assertTrue("No alternative titles found", result.getResults().size() > 0);
+
+ }
+
+ /**
+ * Test of getMovieCasts method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieCasts() throws MovieDbException {
+ LOG.info("getMovieCasts");
+ TmdbResultsList people = tmdb.getMovieCasts(ID_MOVIE_BLADE_RUNNER, "alternative_titles,casts,images,keywords,releases,trailers,translations,similar_movies,reviews,lists");
+ assertTrue("No cast information", people.getResults().size() > 0);
+
+ String name1 = "Harrison Ford";
+ String name2 = "Charles Knode";
+ boolean foundName1 = Boolean.FALSE;
+ boolean foundName2 = Boolean.FALSE;
+
+ for (Person person : people.getResults()) {
+ if (!foundName1 && person.getName().equalsIgnoreCase(name1)) {
+ foundName1 = Boolean.TRUE;
+ }
+
+ if (!foundName2 && person.getName().equalsIgnoreCase(name2)) {
+ foundName2 = Boolean.TRUE;
+ }
+ }
+ assertTrue("Couldn't find " + name1, foundName1);
+ assertTrue("Couldn't find " + name2, foundName2);
+ }
+
+ /**
+ * Test of getMovieImages method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieImages() throws MovieDbException {
+ LOG.info("getMovieImages");
+ String language = "";
+ TmdbResultsList result = tmdb.getMovieImages(ID_MOVIE_BLADE_RUNNER, language);
+ assertFalse("No artwork found", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getMovieKeywords method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieKeywords() throws MovieDbException {
+ LOG.info("getMovieKeywords");
+ TmdbResultsList result = tmdb.getMovieKeywords(ID_MOVIE_BLADE_RUNNER);
+ assertFalse("No keywords found", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getMovieReleaseInfo method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieReleaseInfo() throws MovieDbException {
+ LOG.info("getMovieReleaseInfo");
+ TmdbResultsList result = tmdb.getMovieReleaseInfo(ID_MOVIE_BLADE_RUNNER, "");
+ assertFalse("Release information missing", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getMovieTrailers method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieTrailers() throws MovieDbException {
+ LOG.info("getMovieTrailers");
+ TmdbResultsList result = tmdb.getMovieTrailers(ID_MOVIE_BLADE_RUNNER, "");
+ assertFalse("Movie trailers missing", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getMovieTranslations method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieTranslations() throws MovieDbException {
+ LOG.info("getMovieTranslations");
+ TmdbResultsList result = tmdb.getMovieTranslations(ID_MOVIE_BLADE_RUNNER);
+ assertFalse("No translations found", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getCollectionInfo method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetCollectionInfo() throws MovieDbException {
+ LOG.info("getCollectionInfo");
+ String language = "";
+ CollectionInfo result = tmdb.getCollectionInfo(ID_COLLECTION_STAR_WARS, language);
+ assertFalse("No collection information", result.getParts().isEmpty());
+ }
+
+ /**
+ * Test of createImageUrl method, of class TheMovieDbApi.
+ *
+ * @throws MovieDbException
+ */
+ @Test
+ public void testCreateImageUrl() throws MovieDbException {
+ LOG.info("createImageUrl");
+ MovieDb movie = tmdb.getMovieInfo(ID_MOVIE_BLADE_RUNNER, "");
+ String result = tmdb.createImageUrl(movie.getPosterPath(), "original").toString();
+ assertTrue("Error compiling image URL", !result.isEmpty());
+ }
+
+ /**
+ * Test of getMovieInfoImdb method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetMovieInfoImdb() throws MovieDbException {
+ LOG.info("getMovieInfoImdb");
+ MovieDb result = tmdb.getMovieInfoImdb("tt0076759", "en-US");
+ assertTrue("Error getting the movie from IMDB ID", result.getId() == 11);
+ }
+
+ /**
+ * Test of getApiKey method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetApiKey() {
+ // Not required
+ }
+
+ /**
+ * Test of getApiBase method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetApiBase() {
+ // Not required
+ }
+
+ /**
+ * Test of getConfiguration method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetConfiguration() {
+ // Not required
+ }
+
+ /**
+ * Test of searchPeople method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSearchPeople() throws MovieDbException {
+ LOG.info("searchPeople");
+ String personName = "Bruce Willis";
+ boolean includeAdult = false;
+ TmdbResultsList result = tmdb.searchPeople(personName, includeAdult, 0);
+ assertTrue("Couldn't find the person", result.getResults().size() > 0);
+ }
+
+ /**
+ * Test of getPersonInfo method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetPersonInfo() throws MovieDbException {
+ LOG.info("getPersonInfo");
+ Person result = tmdb.getPersonInfo(ID_PERSON_BRUCE_WILLIS);
+ assertTrue("Wrong actor returned", result.getId() == ID_PERSON_BRUCE_WILLIS);
+ }
+
+ /**
+ * Test of getPersonCredits method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetPersonCredits() throws MovieDbException {
+ LOG.info("getPersonCredits");
+
+ TmdbResultsList result = tmdb.getPersonCredits(ID_PERSON_BRUCE_WILLIS);
+ assertTrue("No cast information", result.getResults().size() > 0);
+ }
+
+ /**
+ * Test of getPersonImages method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetPersonImages() throws MovieDbException {
+ LOG.info("getPersonImages");
+
+ TmdbResultsList result = tmdb.getPersonImages(ID_PERSON_BRUCE_WILLIS);
+ assertTrue("No cast information", result.getResults().size() > 0);
+ }
+
+ /**
+ * Test of getLatestMovie method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetLatestMovie() throws MovieDbException {
+ LOG.info("getLatestMovie");
+ MovieDb result = tmdb.getLatestMovie();
+ assertTrue("No latest movie found", result != null);
+ assertTrue("No latest movie found", result.getId() > 0);
+ }
+
+ /**
+ * Test of compareMovies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testCompareMovies() {
+ // Not required
+ }
+
+ /**
+ * Test of setProxy method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSetProxy() {
+ // Not required
+ }
+
+ /**
+ * Test of setTimeout method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSetTimeout() {
+ // Not required
+ }
+
+ /**
+ * Test of getNowPlayingMovies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetNowPlayingMovies() throws MovieDbException {
+ LOG.info("getNowPlayingMovies");
+ TmdbResultsList result = tmdb.getNowPlayingMovies(LANGUAGE_DEFAULT, 0);
+ assertTrue("No now playing movies found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getPopularMovieList method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetPopularMovieList() throws MovieDbException {
+ LOG.info("getPopularMovieList");
+ TmdbResultsList result = tmdb.getPopularMovieList(LANGUAGE_DEFAULT, 0);
+ assertTrue("No popular movies found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getTopRatedMovies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetTopRatedMovies() throws MovieDbException {
+ LOG.info("getTopRatedMovies");
+ TmdbResultsList result = tmdb.getTopRatedMovies(LANGUAGE_DEFAULT, 0);
+ assertTrue("No top rated movies found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getCompanyInfo method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetCompanyInfo() throws MovieDbException {
+ LOG.info("getCompanyInfo");
+ Company company = tmdb.getCompanyInfo(ID_COMPANY_LUCASFILM);
+ assertTrue("No company information found", company.getCompanyId() > 0);
+ }
+
+ /**
+ * Test of getCompanyMovies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetCompanyMovies() throws MovieDbException {
+ LOG.info("getCompanyMovies");
+ TmdbResultsList result = tmdb.getCompanyMovies(ID_COMPANY_LUCASFILM, LANGUAGE_DEFAULT, 0);
+ assertTrue("No company movies found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of searchCompanies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSearchCompanies() throws MovieDbException {
+ LOG.info("searchCompanies");
+ TmdbResultsList result = tmdb.searchCompanies(COMPANY_NAME, 0);
+ assertTrue("No company information found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getSimilarMovies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetSimilarMovies() throws MovieDbException {
+ LOG.info("getSimilarMovies");
+ TmdbResultsList result = tmdb.getSimilarMovies(ID_MOVIE_BLADE_RUNNER, LANGUAGE_DEFAULT, 0);
+ assertTrue("No similar movies found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getGenreList method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetGenreList() throws MovieDbException {
+ LOG.info("getGenreList");
+ TmdbResultsList result = tmdb.getGenreList(LANGUAGE_DEFAULT);
+ assertTrue("No genres found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getGenreMovies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetGenreMovies() throws MovieDbException {
+ LOG.info("getGenreMovies");
+ TmdbResultsList result = tmdb.getGenreMovies(ID_GENRE_ACTION, LANGUAGE_DEFAULT, 0, Boolean.TRUE);
+ assertTrue("No genre movies found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getUpcoming method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetUpcoming() throws Exception {
+ LOG.info("getUpcoming");
+ TmdbResultsList result = tmdb.getUpcoming(LANGUAGE_DEFAULT, 0);
+ assertTrue("No upcoming movies found", !result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getCollectionImages method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetCollectionImages() throws Exception {
+ LOG.info("getCollectionImages");
+ TmdbResultsList result = tmdb.getCollectionImages(ID_COLLECTION_STAR_WARS, LANGUAGE_DEFAULT);
+ assertFalse("No artwork found", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getAuthorisationToken method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetAuthorisationToken() throws Exception {
+ LOG.info("getAuthorisationToken");
+ TokenAuthorisation result = tmdb.getAuthorisationToken();
+ assertFalse("Token is null", result == null);
+ assertTrue("Token is not valid", result.getSuccess());
+ LOG.info(result.toString());
+ }
+
+ /**
+ * Test of getSessionToken method, of class TheMovieDbApi.
+ *
+ * TODO: Cannot be tested without a HTTP authorisation: http://help.themoviedb.org/kb/api/user-authentication
+ */
+ public void testGetSessionToken() throws Exception {
+ LOG.info("getSessionToken");
+ TokenAuthorisation token = tmdb.getAuthorisationToken();
+ assertFalse("Token is null", token == null);
+ assertTrue("Token is not valid", token.getSuccess());
+ LOG.info(token.toString());
+
+ TokenSession result = tmdb.getSessionToken(token);
+ assertFalse("Session token is null", result == null);
+ assertTrue("Session token is not valid", result.getSuccess());
+ LOG.info(result.toString());
+ }
+
+ /**
+ * Test of getGuestSessionToken method, of class TheMovieDbApi.
+ */
+ @Ignore("Not ready yet")
+ public void testGetGuestSessionToken() throws Exception {
+ LOG.info("getGuestSessionToken");
+ TokenSession result = tmdb.getGuestSessionToken();
+
+ assertTrue("Failed to get guest session", result.getSuccess());
+ }
+
+ @Test
+ public void testGetMovieLists() throws Exception {
+ LOG.info("getMovieLists");
+ TmdbResultsList result = tmdb.getMovieLists(ID_MOVIE_BLADE_RUNNER, LANGUAGE_ENGLISH, 0);
+ assertNotNull("No results found", result);
+ assertTrue("No results found", result.getResults().size() > 0);
+ }
+
+ /**
+ * Test of getMovieChanges method,of class TheMovieDbApi
+ *
+ * TODO: Do not test this until it is fixed
+ */
+ @Ignore("Do not test this until it is fixed")
+ public void testGetMovieChanges() throws Exception {
+ LOG.info("getMovieChanges");
+
+ String startDate = "";
+ String endDate = null;
+
+ // Get some popular movies
+ TmdbResultsList movieList = tmdb.getPopularMovieList(LANGUAGE_DEFAULT, 0);
+ for (MovieDb movie : movieList.getResults()) {
+ TmdbResultsMap> result = tmdb.getMovieChanges(movie.getId(), startDate, endDate);
+ LOG.info("{} has {} changes.", movie.getTitle(), result.getResults().size());
+ assertTrue("No changes found", result.getResults().size() > 0);
+ break;
+ }
+ }
+
+ @Test
+ public void testGetPersonLatest() throws Exception {
+ LOG.info("getPersonLatest");
+
+ Person result = tmdb.getPersonLatest();
+
+ assertNotNull("No results found", result);
+ assertTrue("No results found", StringUtils.isNotBlank(result.getName()));
+ }
+
+ /**
+ * Test of searchCollection method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSearchCollection() throws Exception {
+ LOG.info("searchCollection");
+ String query = "batman";
+ int page = 0;
+ TmdbResultsList result = tmdb.searchCollection(query, LANGUAGE_DEFAULT, page);
+ assertFalse("No collections found", result == null);
+ assertTrue("No collections found", result.getResults().size() > 0);
+ }
+
+ /**
+ * Test of searchList method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSearchList() throws Exception {
+ LOG.info("searchList");
+ String query = "watch";
+ int page = 0;
+ TmdbResultsList result = tmdb.searchList(query, LANGUAGE_DEFAULT, page);
+ assertFalse("No lists found", result.getResults() == null);
+ assertTrue("No lists found", result.getResults().size() > 0);
+ }
+
+ /**
+ * Test of searchKeyword method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testSearchKeyword() throws Exception {
+ LOG.info("searchKeyword");
+ String query = "action";
+ int page = 0;
+ TmdbResultsList result = tmdb.searchKeyword(query, page);
+ assertFalse("No keywords found", result.getResults() == null);
+ assertTrue("No keywords found", result.getResults().size() > 0);
+ }
+
+ /**
+ * Test of postMovieRating method, of class TheMovieDbApi.
+ *
+ * TODO: Cannot be tested without a HTTP authorisation: http://help.themoviedb.org/kb/api/user-authentication
+ */
+ @Ignore("Not ready yet")
+ public void testPostMovieRating() throws Exception {
+ LOG.info("postMovieRating");
+ String sessionId = "";
+ String rating = "";
+ boolean expResult = false;
+ boolean result = tmdb.postMovieRating(sessionId, rating);
+ assertEquals(expResult, result);
+ // TODO review the generated test code and remove the default call to fail.
+ fail("The test case is a prototype.");
+ }
+
+ /**
+ * Test of getPersonChanges method, of class TheMovieDbApi.
+ *
+ */
+ @Ignore("Not ready yet")
+ public void testGetPersonChanges() throws Exception {
+ LOG.info("getPersonChanges");
+ String startDate = "";
+ String endDate = "";
+ tmdb.getPersonChanges(ID_PERSON_BRUCE_WILLIS, startDate, endDate);
+ }
+
+ /**
+ * Test of getList method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetList() throws Exception {
+ LOG.info("getList");
+ String listId = "509ec17b19c2950a0600050d";
+ MovieDbList result = tmdb.getList(listId);
+ assertFalse("List not found", result.getItems().isEmpty());
+ }
+
+ /**
+ * Test of getKeyword method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetKeyword() throws Exception {
+ LOG.info("getKeyword");
+ Keyword result = tmdb.getKeyword(ID_KEYWORD);
+ assertEquals("fight", result.getName());
+ }
+
+ /**
+ * Test of getKeywordMovies method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetKeywordMovies() throws Exception {
+ LOG.info("getKeywordMovies");
+ int page = 0;
+ TmdbResultsList result = tmdb.getKeywordMovies(ID_KEYWORD, LANGUAGE_DEFAULT, page);
+ assertFalse("No keyword movies found", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getReviews method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetReviews() throws Exception {
+ LOG.info("getReviews");
+ int page = 0;
+ TmdbResultsList result = tmdb.getReviews(ID_MOVIE_THE_AVENGERS, LANGUAGE_DEFAULT, page);
+
+ assertFalse("No reviews found", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of compareMovies method, of class TheMovieDbApi.
+ */
+ @Ignore("Not required")
+ public void testCompareMovies_3args() {
+ }
+
+ /**
+ * Test of compareMovies method, of class TheMovieDbApi.
+ */
+ @Ignore("Not required")
+ public void testCompareMovies_4args() {
+ }
+
+ /**
+ * Test of getPersonPopular method, of class TheMovieDbApi.
+ */
+ @Ignore("Not required")
+ public void testGetPersonPopular_0args() throws Exception {
+ }
+
+ /**
+ * Test of getPersonPopular method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetPersonPopular_int() throws Exception {
+ LOG.info("getPersonPopular");
+ int page = 0;
+ TmdbResultsList result = tmdb.getPersonPopular(page);
+ assertFalse("No popular people", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getGenreMovies method, of class TheMovieDbApi.
+ */
+ @Ignore("Not required")
+ public void testGetGenreMovies_3args() throws Exception {
+ }
+
+ /**
+ * Test of getGenreMovies method, of class TheMovieDbApi.
+ */
+ @Ignore("Not required")
+ public void testGetGenreMovies_4args() throws Exception {
+ }
+
+ /**
+ * Test of getMovieChangesList method, of class TheMovieDbApi.
+ */
+ @Ignore("Not ready yet")
+ public void testGetMovieChangesList() throws Exception {
+ LOG.info("getMovieChangesList");
+ int page = 0;
+ String startDate = "";
+ String endDate = "";
+ tmdb.getMovieChangesList(page, startDate, endDate);
+ // TODO review the generated test code and remove the default call to fail.
+ fail("The test case is a prototype.");
+ }
+
+ /**
+ * Test of getPersonChangesList method, of class TheMovieDbApi.
+ */
+ @Ignore("Not ready yet")
+ public void testGetPersonChangesList() throws Exception {
+ LOG.info("getPersonChangesList");
+ int page = 0;
+ String startDate = "";
+ String endDate = "";
+ tmdb.getPersonChangesList(page, startDate, endDate);
+ // TODO review the generated test code and remove the default call to fail.
+ fail("The test case is a prototype.");
+ }
+
+ /**
+ * Test of getJobs method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetJobs() throws Exception {
+ LOG.info("getJobs");
+ TmdbResultsList result = tmdb.getJobs();
+ assertFalse("No jobs found", result.getResults().isEmpty());
+ }
+
+ /**
+ * Test of getDiscover method, of class TheMovieDbApi.
+ */
+ @Ignore("Not required")
+ public void testGetDiscover_14args() throws Exception {
+ }
+
+ /**
+ * Test of getDiscover method, of class TheMovieDbApi.
+ */
+ @Test
+ public void testGetDiscover_Discover() throws Exception {
+ LOG.info("getDiscover");
+ Discover discover = new Discover();
+ discover.year(2013).language(LANGUAGE_ENGLISH);
+
+ TmdbResultsList result = tmdb.getDiscover(discover);
+ assertFalse("No movies discovered", result.getResults().isEmpty());
+ }
+}