/* * The MIT License (MIT) * Copyright (c) 2017 Sybit GmbH * * Permission is hereby granted, free of charge, to any person obtaining a copy */ package com.sybit.airtable; import com.sybit.airtable.exception.AirtableException; import com.sybit.airtable.movies.Movie; import com.sybit.airtable.mock.WireMockBaseTest; import com.sybit.airtable.vo.Attachment; import com.sybit.airtable.vo.Thumbnail; import java.util.Map; import org.apache.http.client.HttpResponseException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import org.junit.Test; /** * * @author fzr */ public class TableConverterTest extends WireMockBaseTest { //TODO Test für nicht gülitiges bzw String @Test public void testConvertMovie() throws AirtableException, HttpResponseException { Table<Movie> movieTable = base.table("Movies", Movie.class); Movie movie = movieTable.find("recFj9J78MLtiFFMz"); assertNotNull(movie); assertEquals(movie.getId(),"recFj9J78MLtiFFMz"); assertEquals(movie.getName(),"The Godfather"); assertEquals(movie.getPhotos().size(),2); assertEquals(movie.getDirector().size(),1); assertEquals(movie.getActors().size(),2); assertEquals(movie.getGenre().size(),1); //TODO Test für Datum } @Test public void testConvertAttachement() throws AirtableException, HttpResponseException { Table<Movie> movieTable = base.table("Movies", Movie.class); Movie movie = movieTable.find("recFj9J78MLtiFFMz"); assertNotNull(movie); assertEquals(movie.getPhotos().size(),2); Attachment photo1 = movie.getPhotos().get(0); assertNotNull(photo1); Attachment photo2 = movie.getPhotos().get(0); assertNotNull(photo2); assertEquals(photo1.getId(),"attk3WY5B28GVcFGU"); assertEquals(photo1.getUrl(),"https://dl.airtable.com/9UhUUeAtSym1PzBdA0q0_AlPacinoandMarlonBrando.jpg"); assertEquals(photo1.getFilename(),"AlPacinoandMarlonBrando.jpg"); assertEquals(photo1.getSize(),35698,0); assertEquals(photo1.getType(),"image/jpeg"); assertEquals(photo1.getThumbnails().size(),2); } @Test public void testConvertThumbnails() throws AirtableException, HttpResponseException { Table<Movie> movieTable = base.table("Movies", Movie.class); Movie movie = movieTable.find("recFj9J78MLtiFFMz"); assertNotNull(movie); assertEquals(movie.getPhotos().get(0).getThumbnails().size(),2); assertEquals(movie.getPhotos().get(1).getThumbnails().size(),2); Map<String, Thumbnail> thumbnails = movie.getPhotos().get(1).getThumbnails(); Thumbnail thumb = thumbnails.get("small"); assertEquals(thumb.getUrl(),"https://dl.airtable.com/rlQ8MyQ4RuqN7rT03ALq_small_The%20Godfather%20poster.jpg"); assertEquals(thumb.getHeight(),36.0, 0); assertEquals(thumb.getWidth(),24.0, 0); } }