package fi.otavanopisto.muikku; import static com.jayway.restassured.RestAssured.certificate; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Rule; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JSR310Module; import com.github.tomakehurst.wiremock.junit.WireMockRule; import com.jayway.restassured.RestAssured; import com.jayway.restassured.config.ObjectMapperConfig; import com.jayway.restassured.config.RestAssuredConfig; import com.jayway.restassured.mapper.factory.Jackson2ObjectMapperFactory; import fi.otavanopisto.muikku.rest.test.PyramusMocksRest; public abstract class AbstractRESTTest extends AbstractIntegrationTest { @Rule public WireMockRule wireMockRule = new WireMockRule(Integer.parseInt(System.getProperty("it.wiremock.port"))); @Before public void setupMocks() throws Exception { List<String> payloads = new ArrayList<String>(); PyramusMocksRest.mockDefaults(payloads); for (String s : payloads) { webhookCall("http://dev.muikku.fi:" + getPortHttp() + "/pyramus/webhook", s); } } @Before public void setupRestAssured() throws JsonProcessingException { RestAssured.baseURI = getAppUrl(true) + "/rest"; RestAssured.port = getPortHttps(); RestAssured.authentication = certificate(getKeystoreFile(), getKeystorePass()); RestAssured.config = RestAssuredConfig.config().objectMapperConfig( ObjectMapperConfig.objectMapperConfig().jackson2ObjectMapperFactory(new Jackson2ObjectMapperFactory() { @SuppressWarnings("rawtypes") @Override public com.fasterxml.jackson.databind.ObjectMapper create(Class cls, String charset) { com.fasterxml.jackson.databind.ObjectMapper objectMapper = new com.fasterxml.jackson.databind.ObjectMapper(); objectMapper.registerModule(new JSR310Module()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); return objectMapper; } })); } }