imdb-spider/runner/src/test/java/ru/bvn13/imdbspider/runner/MovieSearchTest.java

52 lines
2.4 KiB
Java

package ru.bvn13.imdbspider.runner;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.BeforeClass;
import org.junit.Test;
import ru.bvn13.imdbspider.ImdbSpider;
import ru.bvn13.imdbspider.exceptions.ImdbSpiderException;
import ru.bvn13.imdbspider.imdb.Movie;
import ru.bvn13.imdbspider.imdb.MovieDataType;
import ru.bvn13.imdbspider.imdb.MovieList;
import java.util.EnumSet;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class MovieSearchTest
{
private static ImdbSpider spider;
@BeforeClass
public static void initClass() {
spider = ImdbSpider.withApi_1_0();
}
@Test
public void testSearchTerminator() throws ImdbSpiderException {
MovieList result = spider.searchMovieByTitle("Терминатор", 5, EnumSet.of(MovieDataType.ID, MovieDataType.TITLE, MovieDataType.ORIGINAL_TITLE, MovieDataType.YEAR));
assertTrue(result.getMovies().size() > 0);
Movie movie = result.getMovies().get(0);
assertTrue(movie.isDataTypeRetrieved(MovieDataType.ID));
assertTrue(movie.isDataTypeRetrieved(MovieDataType.TITLE));
assertTrue(movie.isDataTypeRetrieved(MovieDataType.ORIGINAL_TITLE));
assertTrue(movie.isDataTypeRetrieved(MovieDataType.YEAR));
assertEquals("0088247", movie.getId());
assertEquals("The Terminator", movie.getOriginalTitle());
assertEquals(Integer.valueOf(1984), movie.getYear());
}
@Test
public void testSearchTerminatorReturnsJson() throws ImdbSpiderException, JsonProcessingException {
MovieList result = spider.searchMovieByTitle("Терминатор", 5, EnumSet.of(MovieDataType.ID, MovieDataType.TITLE, MovieDataType.ORIGINAL_TITLE, MovieDataType.YEAR));
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(result);
//System.out.println("JSON = " + json);
assertEquals("{\"retrievedDataTypes\":[\"ELEMENTS\"],\"id\":null,\"url\":\"https://www.imdb.com/find?ref_=nv_sr_fn&q=%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D1%82%D0%BE%D1%80&s=tt\",\"movies\":[{\"retrievedDataTypes\":[\"ID\",\"TITLE\",\"ORIGINAL_TITLE\",\"YEAR\"],\"id\":\"0088247\",\"url\":\"https://www.imdb.com/title/tt0088247/?ref_=fn_tt_tt_1\",\"title\":\"Терминатор (1984)\",\"originalTitle\":\"The Terminator\",\"year\":1984,\"akas\":{}}]}", json);
}
}