Commit 084c3944 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade base para test de integración

parent 5168f89a
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
package es.redmic.test.timeseriesview.integration.common.controller;

/*-
 * #%L
 * Time series view
 * %%
 * Copyright (C) 2019 - 2021 REDMIC Project / Server
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import java.util.HashMap;
import org.springframework.beans.factory.annotation.Autowired;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import es.redmic.models.es.common.query.dto.DataQueryDTO;

public abstract class SeriesControllerBaseTest {

	@Autowired
    protected
	ObjectMapper mapper;

	@SuppressWarnings("unchecked")
	protected String getQueryAsString(DataQueryDTO dataQuery) throws JsonProcessingException {

		// Se elimina accessibilityIds ya que no está permitido para usuarios
		// no registrados
		HashMap<String, Object> query = mapper.convertValue(dataQuery, HashMap.class);
		query.remove("accessibilityIds");
		return mapper.writeValueAsString(query);
	}
}
+38 −19
Original line number Diff line number Diff line
@@ -21,19 +21,18 @@ package es.redmic.test.timeseriesview.integration.controller;
 */

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;

import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -51,22 +50,14 @@ import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import es.redmic.models.es.common.query.dto.DataQueryDTO;
import es.redmic.models.es.common.query.dto.DateLimitsDTO;
import es.redmic.test.timeseriesview.integration.common.controller.SeriesControllerBaseTest;
import es.redmic.timeseriesview.TimeSeriesViewApplication;
import es.redmic.timeseriesview.model.timeseries.TimeSeries;
import es.redmic.timeseriesview.repository.TimeSeriesESRepository;

@SpringBootTest(classes = { TimeSeriesViewApplication.class })
@ActiveProfiles("test")
@RunWith(SpringJUnit4ClassRunner.class)
public class ObjectCollectingSeriesControllerTest {
public class ObjectCollectingSeriesControllerTest extends SeriesControllerBaseTest {

	@Autowired
	protected WebApplicationContext webApplicationContext;
@@ -76,16 +67,15 @@ public class ObjectCollectingSeriesControllerTest {

	protected MockMvc mockMvc;

	@Autowired
	ObjectMapper mapper;


	@Value("${controller.mapping.OBJECTCOLLECTING}")
	private String OBJECTCOLLECTINGSERIES_BASE_PATH;

	@Value("${controller.mapping.OBJECT_CLASSIFICATION_LIST_SCHEMA}")
	private String OBJECT_CLASSIFICATION_LIST_SCHEMA;

	@Value("${controller.mapping.OBJECT_CLASSIFICATION_LIST}")
	private String OBJECT_CLASSIFICATION_LIST;

	@BeforeClass
	public static void beforeClass() {
	}
@@ -118,4 +108,33 @@ public class ObjectCollectingSeriesControllerTest {

		// @formatter:on
	}

	@Test
	public void getObjectClassificationList_Return200_IfQueryIsOK() throws Exception {

		String searchSchema = "/data/objectcollectingseries/schema/searchSchema.json";

		DataQueryDTO dataQuery = new DataQueryDTO();
		Map<String, Object> terms = new HashMap<>();
		terms.put("parentId", "6f49792c-b2b2-4875-8f00-9729b24b0e1b");
		terms.put("grandparentId", "1193");
		dataQuery.setTerms(terms);

		dataQuery.setInterval("1q");

		// @formatter:off

		MvcResult result = this.mockMvc
			.perform(post(OBJECTCOLLECTINGSERIES_BASE_PATH + OBJECT_CLASSIFICATION_LIST + "/_search")
				.content(getQueryAsString(dataQuery))
				.contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON))
			.andExpect(status().is(200))
			.andExpect(jsonPath("$.success", is(true))).andReturn();

		System.out.println(result.getResponse().getContentAsString());

			//.andExpect(jsonPath("$.body", is(mapper.readValue(getClass().getResource(searchSchema).openStream(), Map.class))));

		// @formatter:on
	}
}
+6 −20
Original line number Diff line number Diff line
@@ -33,6 +33,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.junit.After;
@@ -51,14 +55,9 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import es.redmic.models.es.common.query.dto.DataQueryDTO;
import es.redmic.models.es.common.query.dto.DateLimitsDTO;
import es.redmic.test.timeseriesview.integration.common.controller.SeriesControllerBaseTest;
import es.redmic.timeseriesview.TimeSeriesViewApplication;
import es.redmic.timeseriesview.model.timeseries.TimeSeries;
import es.redmic.timeseriesview.repository.TimeSeriesESRepository;
@@ -66,7 +65,7 @@ import es.redmic.timeseriesview.repository.TimeSeriesESRepository;
@SpringBootTest(classes = { TimeSeriesViewApplication.class })
@ActiveProfiles("test")
@RunWith(SpringJUnit4ClassRunner.class)
public class TimeSeriesControllerTest {
public class TimeSeriesControllerTest extends SeriesControllerBaseTest {

	@Autowired
	protected WebApplicationContext webApplicationContext;
@@ -76,9 +75,6 @@ public class TimeSeriesControllerTest {

	protected MockMvc mockMvc;

	@Autowired
	ObjectMapper mapper;

	private String timeSeries = "/data/timeseries/timeSeriesData.json";

	@Value("${controller.mapping.SERIES_TEMPORALDATA}")
@@ -213,14 +209,4 @@ public class TimeSeriesControllerTest {

		// @formatter:on
	}

	@SuppressWarnings("unchecked")
	private String getQueryAsString(DataQueryDTO dataQuery) throws JsonProcessingException {

		// Se elimina accessibilityIds ya que no está permitido para usuarios
		// no registrados
		HashMap<String, Object> query = mapper.convertValue(dataQuery, HashMap.class);
		query.remove("accessibilityIds");
		return mapper.writeValueAsString(query);
	}
}
+2 −4
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;

import es.redmic.models.es.common.query.dto.DataQueryDTO;
import es.redmic.models.es.common.query.dto.DateLimitsDTO;
import es.redmic.test.timeseriesview.integration.common.controller.SeriesControllerBaseTest;
import es.redmic.timeseriesview.TimeSeriesViewApplication;
import es.redmic.timeseriesview.model.timeseries.TimeSeries;
import es.redmic.timeseriesview.repository.TimeSeriesESRepository;
@@ -63,7 +64,7 @@ import es.redmic.timeseriesview.repository.TimeSeriesESRepository;
@SpringBootTest(classes = { TimeSeriesViewApplication.class })
@ActiveProfiles("test")
@RunWith(SpringJUnit4ClassRunner.class)
public class WindRoseControllerTest {
public class WindRoseControllerTest extends SeriesControllerBaseTest {

	@Autowired
	protected WebApplicationContext webApplicationContext;
@@ -73,9 +74,6 @@ public class WindRoseControllerTest {

	protected MockMvc mockMvc;

	@Autowired
	ObjectMapper mapper;

	private String windRoseSeries = "/data/windrose/windRoseData.json";

	private String activityId = "1286";