master
Stuart Boston 11 years ago
parent 4efc282eed
commit 0143f31bbc

@ -50,7 +50,6 @@ import com.omertron.themoviedbapi.model.MovieList;
import com.omertron.themoviedbapi.model.ReleaseInfo; import com.omertron.themoviedbapi.model.ReleaseInfo;
import com.omertron.themoviedbapi.model.Translation; import com.omertron.themoviedbapi.model.Translation;
import com.omertron.themoviedbapi.model.Video; import com.omertron.themoviedbapi.model.Video;
import com.omertron.themoviedbapi.model.change.ChangedMedia;
import com.omertron.themoviedbapi.model.keyword.Keyword; import com.omertron.themoviedbapi.model.keyword.Keyword;
import com.omertron.themoviedbapi.model.keyword.KeywordMovie; import com.omertron.themoviedbapi.model.keyword.KeywordMovie;
import com.omertron.themoviedbapi.model.person.Person; import com.omertron.themoviedbapi.model.person.Person;
@ -60,6 +59,7 @@ import com.omertron.themoviedbapi.model2.account.Account;
import com.omertron.themoviedbapi.model2.artwork.Artwork; import com.omertron.themoviedbapi.model2.artwork.Artwork;
import com.omertron.themoviedbapi.model2.authentication.TokenAuthorisation; import com.omertron.themoviedbapi.model2.authentication.TokenAuthorisation;
import com.omertron.themoviedbapi.model2.authentication.TokenSession; import com.omertron.themoviedbapi.model2.authentication.TokenSession;
import com.omertron.themoviedbapi.model2.change.ChangeListItem;
import com.omertron.themoviedbapi.model2.collection.Collection; import com.omertron.themoviedbapi.model2.collection.Collection;
import com.omertron.themoviedbapi.model2.collection.CollectionInfo; import com.omertron.themoviedbapi.model2.collection.CollectionInfo;
import com.omertron.themoviedbapi.model2.company.Company; import com.omertron.themoviedbapi.model2.company.Company;
@ -529,7 +529,7 @@ public class TheMovieDbApi {
* @return List of changed movie * @return List of changed movie
* @throws MovieDbException * @throws MovieDbException
*/ */
public TmdbResultsList<ChangedMedia> getMovieChangeList(int page, String startDate, String endDate) throws MovieDbException { public List<ChangeListItem> getMovieChangeList(int page, String startDate, String endDate) throws MovieDbException {
return tmdbChanges.getChangeList(MethodBase.MOVIE, page, startDate, endDate); return tmdbChanges.getChangeList(MethodBase.MOVIE, page, startDate, endDate);
} }
@ -544,7 +544,7 @@ public class TheMovieDbApi {
* @return List of changed movie * @return List of changed movie
* @throws MovieDbException * @throws MovieDbException
*/ */
public TmdbResultsList<ChangedMedia> getTvChangeList(int page, String startDate, String endDate) throws MovieDbException { public List<ChangeListItem> getTvChangeList(int page, String startDate, String endDate) throws MovieDbException {
return tmdbChanges.getChangeList(MethodBase.TV, page, startDate, endDate); return tmdbChanges.getChangeList(MethodBase.TV, page, startDate, endDate);
} }
@ -559,7 +559,7 @@ public class TheMovieDbApi {
* @return List of changed movie * @return List of changed movie
* @throws MovieDbException * @throws MovieDbException
*/ */
public TmdbResultsList<ChangedMedia> getPersonChangeList(int page, String startDate, String endDate) throws MovieDbException { public List<ChangeListItem> getPersonChangeList(int page, String startDate, String endDate) throws MovieDbException {
return tmdbChanges.getChangeList(MethodBase.PERSON, page, startDate, endDate); return tmdbChanges.getChangeList(MethodBase.PERSON, page, startDate, endDate);
} }
//</editor-fold> //</editor-fold>

@ -19,19 +19,18 @@
*/ */
package com.omertron.themoviedbapi.methods; package com.omertron.themoviedbapi.methods;
import com.fasterxml.jackson.core.type.TypeReference;
import com.omertron.themoviedbapi.MovieDbException; import com.omertron.themoviedbapi.MovieDbException;
import com.omertron.themoviedbapi.model.change.ChangedMedia; import com.omertron.themoviedbapi.model2.change.ChangeListItem;
import com.omertron.themoviedbapi.results.TmdbResultsList;
import com.omertron.themoviedbapi.tools.ApiUrl; import com.omertron.themoviedbapi.tools.ApiUrl;
import com.omertron.themoviedbapi.tools.HttpTools; import com.omertron.themoviedbapi.tools.HttpTools;
import com.omertron.themoviedbapi.tools.MethodBase; import com.omertron.themoviedbapi.tools.MethodBase;
import com.omertron.themoviedbapi.tools.MethodSub; import com.omertron.themoviedbapi.tools.MethodSub;
import com.omertron.themoviedbapi.tools.Param; import com.omertron.themoviedbapi.tools.Param;
import com.omertron.themoviedbapi.tools.TmdbParameters; import com.omertron.themoviedbapi.tools.TmdbParameters;
import com.omertron.themoviedbapi.wrapper.WrapperMediaChanges; import com.omertron.themoviedbapi.wrapper.WrapperGenericList;
import java.io.IOException;
import java.net.URL; import java.net.URL;
import org.yamj.api.common.exception.ApiExceptionType; import java.util.List;
/** /**
* Class to hold the Change Methods * Class to hold the Change Methods
@ -53,7 +52,8 @@ public class TmdbChanges extends AbstractMethod {
/** /**
* Get a list of Media IDs that have been edited. * Get a list of Media IDs that have been edited.
* *
* You can then use the movie/TV/person changes API to get the actual data that has been changed. * You can then use the movie/TV/person changes API to get the actual data
* that has been changed.
* *
* @param method The method base to get * @param method The method base to get
* @param page * @param page
@ -62,7 +62,7 @@ public class TmdbChanges extends AbstractMethod {
* @return List of changed movie * @return List of changed movie
* @throws MovieDbException * @throws MovieDbException
*/ */
public TmdbResultsList<ChangedMedia> getChangeList(MethodBase method, Integer page, String startDate, String endDate) throws MovieDbException { public List<ChangeListItem> getChangeList(MethodBase method, Integer page, String startDate, String endDate) throws MovieDbException {
TmdbParameters params = new TmdbParameters(); TmdbParameters params = new TmdbParameters();
params.add(Param.PAGE, page); params.add(Param.PAGE, page);
params.add(Param.START_DATE, startDate); params.add(Param.START_DATE, startDate);
@ -71,15 +71,10 @@ public class TmdbChanges extends AbstractMethod {
URL url = new ApiUrl(apiKey, method).setSubMethod(MethodSub.CHANGES).buildUrl(params); URL url = new ApiUrl(apiKey, method).setSubMethod(MethodSub.CHANGES).buildUrl(params);
String webpage = httpTools.getRequest(url); String webpage = httpTools.getRequest(url);
try { TypeReference tr = new TypeReference<WrapperGenericList<ChangeListItem>>() {
WrapperMediaChanges wrapper = MAPPER.readValue(webpage, WrapperMediaChanges.class); };
TmdbResultsList<ChangedMedia> results = new TmdbResultsList<ChangedMedia>(wrapper.getResults()); return processWrapperList(tr, url, "changes");
results.copyWrapper(wrapper);
return results;
} catch (IOException ex) {
throw new MovieDbException(ApiExceptionType.MAPPING_FAILED, "Failed to get changes", url, ex);
}
} }
} }

@ -21,8 +21,8 @@ package com.omertron.themoviedbapi.methods;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.omertron.themoviedbapi.MovieDbException; import com.omertron.themoviedbapi.MovieDbException;
import com.omertron.themoviedbapi.model2.artwork.Artwork;
import com.omertron.themoviedbapi.enumeration.ArtworkType; import com.omertron.themoviedbapi.enumeration.ArtworkType;
import com.omertron.themoviedbapi.model2.artwork.Artwork;
import com.omertron.themoviedbapi.model2.artwork.ArtworkMedia; import com.omertron.themoviedbapi.model2.artwork.ArtworkMedia;
import com.omertron.themoviedbapi.model2.person.CreditMovieBasic; import com.omertron.themoviedbapi.model2.person.CreditMovieBasic;
import com.omertron.themoviedbapi.model2.person.CreditTVBasic; import com.omertron.themoviedbapi.model2.person.CreditTVBasic;
@ -37,6 +37,7 @@ import com.omertron.themoviedbapi.tools.MethodBase;
import com.omertron.themoviedbapi.tools.MethodSub; import com.omertron.themoviedbapi.tools.MethodSub;
import com.omertron.themoviedbapi.tools.Param; import com.omertron.themoviedbapi.tools.Param;
import com.omertron.themoviedbapi.tools.TmdbParameters; import com.omertron.themoviedbapi.tools.TmdbParameters;
import com.omertron.themoviedbapi.wrapper.WrapperChanges;
import com.omertron.themoviedbapi.wrapper.WrapperGenericList; import com.omertron.themoviedbapi.wrapper.WrapperGenericList;
import com.omertron.themoviedbapi.wrapper.WrapperImages; import com.omertron.themoviedbapi.wrapper.WrapperImages;
import java.io.IOException; import java.io.IOException;
@ -112,9 +113,11 @@ public class TmdbPeople extends AbstractMethod {
/** /**
* Get the TV credits for a specific person id. * Get the TV credits for a specific person id.
* *
* To get the expanded details for each record, call the /credit method with the provided credit_id. * To get the expanded details for each record, call the /credit method with
* the provided credit_id.
* *
* This will provide details about which episode and/or season the credit is for. * This will provide details about which episode and/or season the credit is
* for.
* *
* @param personId * @param personId
* @param language * @param language
@ -142,9 +145,11 @@ public class TmdbPeople extends AbstractMethod {
/** /**
* Get the combined (movie and TV) credits for a specific person id. * Get the combined (movie and TV) credits for a specific person id.
* *
* To get the expanded details for each TV record, call the /credit method with the provided credit_id. * To get the expanded details for each TV record, call the /credit method
* with the provided credit_id.
* *
* This will provide details about which episode and/or season the credit is for. * This will provide details about which episode and/or season the credit is
* for.
* *
* @param personId * @param personId
* @param language * @param language
@ -217,7 +222,8 @@ public class TmdbPeople extends AbstractMethod {
/** /**
* Get the images that have been tagged with a specific person id. * Get the images that have been tagged with a specific person id.
* *
* We return all of the image results with a media object mapped for each image. * We return all of the image results with a media object mapped for each
* image.
* *
* @param personId * @param personId
* @param page * @param page
@ -254,18 +260,31 @@ public class TmdbPeople extends AbstractMethod {
* *
* By default, only the last 24 hours of changes are returned. * By default, only the last 24 hours of changes are returned.
* *
* The maximum number of days that can be returned in a single request is 14. * The maximum number of days that can be returned in a single request is
* 14.
* *
* The language is present on fields that are translatable. * The language is present on fields that are translatable.
* *
* @param persondId * @param personId
* @param startDate * @param startDate
* @param endDate * @param endDate
* @return * @return
* @throws com.omertron.themoviedbapi.MovieDbException * @throws com.omertron.themoviedbapi.MovieDbException
*/ */
public TmdbResultsList<Person> getPersonChanges(int persondId, String startDate, String endDate) throws MovieDbException { public WrapperChanges getPersonChanges(int personId, String startDate, String endDate) throws MovieDbException {
throw new MovieDbException(ApiExceptionType.UNKNOWN_CAUSE, "Not done"); TmdbParameters parameters = new TmdbParameters();
parameters.add(Param.ID, personId);
parameters.add(Param.START_DATE, startDate);
parameters.add(Param.END_DATE, endDate);
URL url = new ApiUrl(apiKey, MethodBase.PERSON).setSubMethod(MethodSub.CHANGES).buildUrl(parameters);
String webpage = httpTools.getRequest(url);
try {
return MAPPER.readValue(webpage, WrapperChanges.class);
} catch (IOException ex) {
throw new MovieDbException(ApiExceptionType.MAPPING_FAILED, "Failed to get person changes", url, ex);
}
} }
/** /**

@ -0,0 +1,51 @@
/*
* Copyright (c) 2004-2015 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 <http://www.gnu.org/licenses/>.
*
*/
package com.omertron.themoviedbapi.model2.change;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.omertron.themoviedbapi.model2.AbstractJsonMapping;
import java.util.ArrayList;
import java.util.List;
public class ChangeKeyItem extends AbstractJsonMapping {
private static final long serialVersionUID = 1L;
@JsonProperty("key")
private String key;
@JsonProperty("items")
private List<ChangedItem> changedItems = new ArrayList<ChangedItem>();
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public List<ChangedItem> getChangedItems() {
return changedItems;
}
public void setChangedItems(List<ChangedItem> changes) {
this.changedItems = changes;
}
}

@ -0,0 +1,49 @@
/*
* Copyright (c) 2004-2015 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 <http://www.gnu.org/licenses/>.
*
*/
package com.omertron.themoviedbapi.model2.change;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.omertron.themoviedbapi.model2.AbstractJsonMapping;
public class ChangeListItem extends AbstractJsonMapping {
private static final long serialVersionUID = 1L;
@JsonProperty("id")
private int id;
@JsonProperty("adult")
private boolean adult;
public int getId() {
return id;
}
public boolean isAdult() {
return adult;
}
public void setId(int id) {
this.id = id;
}
public void setAdult(boolean adult) {
this.adult = adult;
}
}

@ -0,0 +1,89 @@
/*
* Copyright (c) 2004-2015 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 <http://www.gnu.org/licenses/>.
*
*/
package com.omertron.themoviedbapi.model2.change;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.omertron.themoviedbapi.model2.AbstractJsonMapping;
public class ChangedItem extends AbstractJsonMapping {
private static final long serialVersionUID = 1L;
@JsonProperty("id")
private String id;
@JsonProperty("action")
private String action;
@JsonProperty("time")
private String time;
@JsonProperty("iso_639_1")
private String language;
@JsonProperty("value")
private Object value;
@JsonProperty("original_value")
private Object originalValue;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public Object getOriginalValue() {
return originalValue;
}
public void setOriginalValue(Object originalValue) {
this.originalValue = originalValue;
}
}

@ -19,22 +19,17 @@
*/ */
package com.omertron.themoviedbapi.wrapper; package com.omertron.themoviedbapi.wrapper;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.omertron.themoviedbapi.model.change.ChangeKeyItem; import com.omertron.themoviedbapi.model2.change.ChangeKeyItem;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
public class WrapperChanges { public class WrapperChanges extends AbstractWrapper{
@JsonProperty("changes") @JsonProperty("changes")
private List<ChangeKeyItem> changedItems = new ArrayList<ChangeKeyItem>(); private List<ChangeKeyItem> changedItems = new ArrayList<ChangeKeyItem>();
private final Map<String, Object> newItems = new HashMap<String, Object>();
public List<ChangeKeyItem> getChangedItems() { public List<ChangeKeyItem> getChangedItems() {
return changedItems; return changedItems;
@ -44,16 +39,6 @@ public class WrapperChanges {
this.changedItems = changes; this.changedItems = changes;
} }
@JsonAnyGetter
public Map<String, Object> getNewItems() {
return this.newItems;
}
@JsonAnySetter
public void setNewItems(String name, Object value) {
this.newItems.put(name, value);
}
@Override @Override
public String toString() { public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE); return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);

@ -21,9 +21,9 @@ package com.omertron.themoviedbapi.methods;
import com.omertron.themoviedbapi.AbstractTests; import com.omertron.themoviedbapi.AbstractTests;
import com.omertron.themoviedbapi.MovieDbException; import com.omertron.themoviedbapi.MovieDbException;
import com.omertron.themoviedbapi.model.change.ChangedMedia; import com.omertron.themoviedbapi.model2.change.ChangeListItem;
import com.omertron.themoviedbapi.results.TmdbResultsList;
import com.omertron.themoviedbapi.tools.MethodBase; import com.omertron.themoviedbapi.tools.MethodBase;
import java.util.List;
import org.junit.AfterClass; import org.junit.AfterClass;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import org.junit.BeforeClass; import org.junit.BeforeClass;
@ -60,8 +60,8 @@ public class TmdbChangesTest extends AbstractTests {
@Test @Test
public void testGetMovieChangesList() throws MovieDbException { public void testGetMovieChangesList() throws MovieDbException {
LOG.info("getMovieChangesList"); LOG.info("getMovieChangesList");
TmdbResultsList<ChangedMedia> result = instance.getChangeList(MethodBase.MOVIE, null, null, null); List<ChangeListItem> result = instance.getChangeList(MethodBase.MOVIE, null, null, null);
assertFalse("No movie changes.", result.getResults().isEmpty()); assertFalse("No movie changes.", result.isEmpty());
} }
/** /**
@ -72,8 +72,8 @@ public class TmdbChangesTest extends AbstractTests {
@Ignore("Not ready yet") @Ignore("Not ready yet")
public void testGetPersonChangesList() throws MovieDbException { public void testGetPersonChangesList() throws MovieDbException {
LOG.info("getPersonChangesList"); LOG.info("getPersonChangesList");
TmdbResultsList<ChangedMedia> result = instance.getChangeList(MethodBase.PERSON, null, null, null); List<ChangeListItem> result = instance.getChangeList(MethodBase.PERSON, null, null, null);
assertFalse("No Person changes.", result.getResults().isEmpty()); assertFalse("No Person changes.", result.isEmpty());
} }
/** /**
@ -84,7 +84,7 @@ public class TmdbChangesTest extends AbstractTests {
@Ignore("Not ready yet") @Ignore("Not ready yet")
public void testGetTVChangesList() throws MovieDbException { public void testGetTVChangesList() throws MovieDbException {
LOG.info("getPersonChangesList"); LOG.info("getPersonChangesList");
TmdbResultsList<ChangedMedia> result = instance.getChangeList(MethodBase.PERSON, null, null, null); List<ChangeListItem> result = instance.getChangeList(MethodBase.PERSON, null, null, null);
assertFalse("No TV changes.", result.getResults().isEmpty()); assertFalse("No TV changes.", result.isEmpty());
} }
} }

@ -23,9 +23,10 @@ import com.omertron.themoviedbapi.AbstractTests;
import com.omertron.themoviedbapi.MovieDbException; import com.omertron.themoviedbapi.MovieDbException;
import com.omertron.themoviedbapi.TestID; import com.omertron.themoviedbapi.TestID;
import com.omertron.themoviedbapi.enumeration.ArtworkType; import com.omertron.themoviedbapi.enumeration.ArtworkType;
import com.omertron.themoviedbapi.model2.MediaBasic;
import com.omertron.themoviedbapi.model2.artwork.Artwork; import com.omertron.themoviedbapi.model2.artwork.Artwork;
import com.omertron.themoviedbapi.model2.artwork.ArtworkMedia; import com.omertron.themoviedbapi.model2.artwork.ArtworkMedia;
import com.omertron.themoviedbapi.model2.change.ChangeKeyItem;
import com.omertron.themoviedbapi.model2.change.ChangeListItem;
import com.omertron.themoviedbapi.model2.person.CreditMovieBasic; import com.omertron.themoviedbapi.model2.person.CreditMovieBasic;
import com.omertron.themoviedbapi.model2.person.CreditTVBasic; import com.omertron.themoviedbapi.model2.person.CreditTVBasic;
import com.omertron.themoviedbapi.model2.person.ExternalID; import com.omertron.themoviedbapi.model2.person.ExternalID;
@ -33,15 +34,19 @@ import com.omertron.themoviedbapi.model2.person.Person;
import com.omertron.themoviedbapi.model2.person.PersonCredits; import com.omertron.themoviedbapi.model2.person.PersonCredits;
import com.omertron.themoviedbapi.model2.person.PersonFind; import com.omertron.themoviedbapi.model2.person.PersonFind;
import com.omertron.themoviedbapi.results.TmdbResultsList; import com.omertron.themoviedbapi.results.TmdbResultsList;
import com.omertron.themoviedbapi.tools.MethodBase;
import com.omertron.themoviedbapi.wrapper.WrapperChanges;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.time.DateUtils;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.junit.After; import org.junit.After;
import org.junit.AfterClass; import org.junit.AfterClass;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import org.junit.Before; import org.junit.Before;
@ -55,7 +60,6 @@ import org.junit.Test;
public class TmdbPeopleTest extends AbstractTests { public class TmdbPeopleTest extends AbstractTests {
private static TmdbPeople instance; private static TmdbPeople instance;
private static final int ID_DICK_WOLF = 117443;
private static final List<TestID> testIDs = new ArrayList<TestID>(); private static final List<TestID> testIDs = new ArrayList<TestID>();
public TmdbPeopleTest() { public TmdbPeopleTest() {
@ -210,8 +214,10 @@ public class TmdbPeopleTest extends AbstractTests {
for (TestID test : testIDs) { for (TestID test : testIDs) {
TmdbResultsList<ArtworkMedia> result = instance.getPersonTaggedImages(test.getTmdb(), page, language); TmdbResultsList<ArtworkMedia> result = instance.getPersonTaggedImages(test.getTmdb(), page, language);
assertFalse("No images", result.isEmpty());
for (ArtworkMedia am : result.getResults()) { for (ArtworkMedia am : result.getResults()) {
LOG.info("{}", ToStringBuilder.reflectionToString(am, ToStringStyle.DEFAULT_STYLE)); assertTrue("No ID", StringUtils.isNotBlank(am.getId()));
assertTrue("No file path", StringUtils.isNotBlank(am.getFilePath()));
} }
} }
} }
@ -221,18 +227,30 @@ public class TmdbPeopleTest extends AbstractTests {
* *
* @throws com.omertron.themoviedbapi.MovieDbException * @throws com.omertron.themoviedbapi.MovieDbException
*/ */
//@Test @Test
public void testGetPersonChanges() throws MovieDbException { public void testGetPersonChanges() throws MovieDbException {
LOG.info("getPersonChanges"); LOG.info("getPersonChanges");
int persondId = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String startDate = ""; String startDate = sdf.format(DateUtils.addDays(new Date(), -14));
String endDate = ""; String endDate = "";
int maxCheck = 5;
TmdbChanges chgs = new TmdbChanges(getApiKey(), getHttpTools());
List<ChangeListItem> changeList = chgs.getChangeList(MethodBase.PERSON, null, null, null);
LOG.info("Found {} person changes to check", changeList.size());
int count = 1;
WrapperChanges result;
for (ChangeListItem item : changeList) {
result = instance.getPersonChanges(item.getId(), startDate, endDate);
for (ChangeKeyItem ci : result.getChangedItems()) {
assertNotNull("Null changes",ci);
}
TmdbResultsList<Person> expResult = null; if (count++ > maxCheck) {
TmdbResultsList<Person> result = instance.getPersonChanges(persondId, startDate, endDate); break;
assertEquals(expResult, result); }
// TODO review the generated test code and remove the default call to fail. }
fail("The test case is a prototype.");
} }
/** /**
@ -240,7 +258,7 @@ public class TmdbPeopleTest extends AbstractTests {
* *
* @throws com.omertron.themoviedbapi.MovieDbException * @throws com.omertron.themoviedbapi.MovieDbException
*/ */
@Test // @Test
public void testGetPersonPopular() throws MovieDbException { public void testGetPersonPopular() throws MovieDbException {
LOG.info("getPersonPopular"); LOG.info("getPersonPopular");
Integer page = null; Integer page = null;
@ -248,10 +266,8 @@ public class TmdbPeopleTest extends AbstractTests {
assertFalse("No results", result.isEmpty()); assertFalse("No results", result.isEmpty());
assertTrue("No results", result.getResults().size() > 0); assertTrue("No results", result.getResults().size() > 0);
for (PersonFind p : result.getResults()) { for (PersonFind p : result.getResults()) {
assertFalse("No known for entries", p.getKnownFor().isEmpty());
LOG.info("{} ({}) = {}", p.getName(), p.getId(), p.getKnownFor().size()); LOG.info("{} ({}) = {}", p.getName(), p.getId(), p.getKnownFor().size());
for (MediaBasic k : p.getKnownFor()) {
LOG.info(" {}", k.toString());
}
} }
} }
@ -264,11 +280,9 @@ public class TmdbPeopleTest extends AbstractTests {
public void testGetPersonLatest() throws MovieDbException { public void testGetPersonLatest() throws MovieDbException {
LOG.info("getPersonLatest"); LOG.info("getPersonLatest");
Person expResult = null;
Person result = instance.getPersonLatest(); Person result = instance.getPersonLatest();
assertEquals(expResult, result); assertTrue("No ID", result.getId() > 0);
// TODO review the generated test code and remove the default call to fail. assertTrue("No name!", StringUtils.isNotBlank(result.getName()));
fail("The test case is a prototype.");
} }
} }

Loading…
Cancel
Save