Commit 755a934b authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade test para temporaldata

parent a8277331
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public class ObjectCollectingSeriesESRepository extends RWSeriesESRepository<Obj

	private static final String objectNestedPath = "object";
	private static final String activityField = "activityId";
	private static final String grandparentIdKey = "grandparentId";

	private static int aggsSize = 200;

@@ -154,12 +155,17 @@ public class ObjectCollectingSeriesESRepository extends RWSeriesESRepository<Obj
	@Override
	protected QueryBuilder getTermQuery(Map<String, Object> terms, BoolQueryBuilder query) {

		if (terms != null && !terms.isEmpty()) {
			// Se mantiene grandparentId por retrocompatibilidad
		if (terms != null && (terms.containsKey("grandparentId") || terms.containsKey(activityField))) {
			String activityId = (String) terms.get("grandparentId");

			// TODO: comprobar también por parentId o featureId
			if(terms.containsKey(grandparentIdKey) || terms.containsKey(activityField)) {
				String activityId = null;
				if(terms.containsKey(grandparentIdKey))
					activityId = (String) terms.get(grandparentIdKey);
				if (terms.containsKey(activityField))
					activityId = (String) terms.get(activityField);
				query.must(QueryBuilders.boolQuery().filter(QueryBuilders.termQuery(activityField, activityId)));

			}
		} else {
			throw new ESTermQueryException(activityField, "null");
		}
+32 −0
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
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 com.fasterxml.jackson.core.JsonParseException;
@@ -52,6 +54,7 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import es.redmic.models.es.common.query.dto.DataQueryDTO;
import es.redmic.models.es.maintenance.parameter.model.DataDefinition;
import es.redmic.test.timeseriesview.integration.common.controller.SeriesControllerBaseTest;
import es.redmic.timeseriesview.TimeSeriesViewApplication;
import es.redmic.timeseriesview.model.objectcollectingseries.ObjectCollectingSeries;
@@ -85,6 +88,9 @@ public class ObjectCollectingSeriesControllerTest extends SeriesControllerBaseTe
	@Value("${controller.mapping.OBJECT_CLASSIFICATION}")
	private String OBJECT_CLASSIFICATION;

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

	DataQueryDTO dataQuery;

	@BeforeClass
@@ -176,6 +182,32 @@ public class ObjectCollectingSeriesControllerTest extends SeriesControllerBaseTe
			.andExpect(jsonPath("$.body[0].data[0].timeInterval", notNullValue()));


		// @formatter:on
	}

	@Test
	public void getObjectTemporalData_Return200_IfQueryIsOK() throws Exception {

		// @formatter:off

		List<Integer> dataDefinitionList = new ArrayList<>();
		dataDefinitionList.add(12);
		dataQuery.getTerms().put("dataDefinition", dataDefinitionList);

		List<String> returnFields = new ArrayList<>();
		returnFields.add("value");
		returnFields.add("date");
		dataQuery.setReturnFields(returnFields);

		this.mockMvc
			.perform(post(OBJECTCOLLECTINGSERIES_BASE_PATH + SERIES_TEMPORALDATA + "/_search")
				.content(getQueryAsString(dataQuery))
				.contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON))
			.andExpect(status().is(200))
			.andExpect(jsonPath("$.success", is(true)))
			.andExpect(jsonPath("$.body", notNullValue()));


		// @formatter:on
	}
}