Commit 6f0bc2fd authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade test de búsqueda para distribution

parent 075cac8f
Loading
Loading
Loading
Loading
+32 −8
Original line number Diff line number Diff line
@@ -31,8 +31,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.

import java.util.HashMap;

import com.fasterxml.jackson.databind.ObjectMapper;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -45,11 +43,12 @@ import org.springframework.restdocs.JUnitRestDocumentation;
import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;

import es.redmic.ApiApplication;
import es.redmic.es.tools.distributions.species.repository.TaxonDist100MRepository;
import es.redmic.models.es.common.query.dto.GeoDataQueryDTO;
import es.redmic.models.es.tools.distribution.model.Distribution;
import es.redmic.test.integration.ApiApplicationTest;
import es.redmic.test.integration.common.IntegrationTestBase;

@@ -63,12 +62,14 @@ public class SpeciesDistributionControllerTest extends IntegrationTestBase {
	public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("target/generated-snippets");

	@Autowired
	ObjectMapper mapper;
	TaxonDist100MRepository repository;

	private RestDocumentationResultHandler document;

	private final String DISTRIBUTION_URL_BASE = "/distributions/grid100";

	private static final String RESOURCE_PATH = "/distribution/models/distribution100.json";

	@Override
	@Before
	public void setUp() {
@@ -89,11 +90,34 @@ public class SpeciesDistributionControllerTest extends IntegrationTestBase {

		// @formatter:off

		MvcResult result = this.mockMvc
				.perform(get(DISTRIBUTION_URL_BASE + "/_search/_schema").accept(MediaType.APPLICATION_JSON)).andReturn();
				//.andExpect(status().isOk());
		this.mockMvc
			.perform(get(DISTRIBUTION_URL_BASE + "/_search/_schema").accept(MediaType.APPLICATION_JSON))
			.andExpect(status().isOk());

		// @formatter:on
	}

	@SuppressWarnings("unchecked")
	@Test
	public void searchDistribution_Return200_WhenSearchIsCorrect() throws Exception {

		Distribution modelToIndex = (Distribution) getModelToResource(RESOURCE_PATH, Distribution.class);
		repository.save(modelToIndex);

		GeoDataQueryDTO geodataQuery = new GeoDataQueryDTO();
		geodataQuery.setSize(1);

		// Se elimina accessibilityIds ya que no está permitido para usuarios
		// básicos
		HashMap<String, Object> query = mapper.convertValue(geodataQuery, HashMap.class);
		query.remove("accessibilityIds");

		// @formatter:off

		System.err.println(result.getResponse().getContentAsString());
		this.mockMvc
				.perform(post(DISTRIBUTION_URL_BASE + "/_search").content(mapper.writeValueAsString(query))
						.contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON))
				.andExpect(status().isOk());

		// @formatter:on
	}
+46 −0
Original line number Diff line number Diff line
{
	"bbox": null,
	"id": 1653218,
	"properties": {
		"taxons": [{
			"id": 6822,
			"path": "root.1.21.150.223.362.946.2698.6822",
			"scientificName": "Euphausia krohnii",
			"authorship": "(Brandt, 1851)",
			"equivalent": null,
			"registers": [{
				"id": "/activity/518/citation/2b184df3-556b-4059-8e71-1277ff1b7bf2",
				"confidence": 4,
				"misidentification": null
			}]
		}]
	},
	"geometry": {
		"type": "Polygon",
		"coordinates": [
			[
				[
					-16.4357664944,
					28.135087212
				],
				[
					-16.440856551,
					28.1350337883
				],
				[
					-16.4409169308,
					28.1395459138
				],
				[
					-16.4358266611,
					28.1395993475
				],
				[
					-16.4357664944,
					28.135087212
				]
			]
		]
	},
	"type": "Feature"
}