Commit 24f6446b authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade tests para diferentes configuraciones

Amplía fuente de datos
Comprueba resultado con json esperado
parent 5a016cff
Loading
Loading
Loading
Loading
+77 −40
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ import java.util.Map;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -24,8 +25,6 @@ import org.springframework.security.web.FilterChainProxy;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

@@ -56,7 +55,9 @@ public class WindRoseControllerTest {
	@Autowired
	ObjectMapper mapper;

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

	private String activityId = "1286";

	@Value("${controller.mapping.TIMESERIES}")
	private String TIMESERIES_PATH;
@@ -67,9 +68,45 @@ public class WindRoseControllerTest {
	@Autowired
	TimeSeriesESRepository repository;

	private static DataQueryDTO dataQuery;

	private static HashMap<String, Object> query;

	@BeforeClass
	public static void beforeClass() {

		// Se forma la query
		dataQuery = new DataQueryDTO();

		DateLimitsDTO dateLimits = new DateLimitsDTO();
		dateLimits.setStartDate(new DateTime(2019, 1, 1, 0, 0, 0, 0, DateTimeZone.UTC));
		dateLimits.setEndDate(new DateTime(2019, 2, 1, 0, 0, 0, 0, DateTimeZone.UTC));
		dataQuery.setDateLimits(dateLimits);

		Map<String, Object> terms = new HashMap<String, Object>();

		// @formatter:off

		Integer speedDataDefinition = 20,
				directionDataDefinition = 19;
		
		// @formatter:on

		Map<String, Object> dataDefinition = new HashMap<>();
		dataDefinition.put("speed", speedDataDefinition);
		dataDefinition.put("direction", directionDataDefinition);
		terms.put("dataDefinition", dataDefinition);

		dataQuery.setTerms(terms);
	}

	@SuppressWarnings("unchecked")
	@Before
	public void setUp() throws JsonParseException, JsonMappingException, IOException {

		mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).addFilters(springSecurityFilterChain)
				.build();

		TIMESERIES_PATH = TIMESERIES_PATH.replace("{activityId}", activityId);

		// Guardar timeseries de prueba
@@ -83,63 +120,63 @@ public class WindRoseControllerTest {
			repository.save(item);
		}

		// @formatter:off

		mockMvc = MockMvcBuilders
				.webAppContextSetup(webApplicationContext).addFilters(springSecurityFilterChain).build();

		// @formatter:on
		// Se elimina accessibilityIds ya que no está permitido para usuarios
		// no registrados
		query = mapper.convertValue(dataQuery, HashMap.class);
		query.remove("accessibilityIds");
	}

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

		DataQueryDTO dataQuery = new DataQueryDTO();
		// @formatter:off
		
		DateLimitsDTO dateLimits = new DateLimitsDTO();
		dateLimits.setStartDate(new DateTime(2019, 1, 1, 0, 0, 0, 0, DateTimeZone.UTC));
		dateLimits.setEndDate(new DateTime(2019, 1, 2, 0, 0, 0, 0, DateTimeZone.UTC));
		dataQuery.setDateLimits(dateLimits);
		Integer numSectors = 16,
				numSplits = 6;
		
		Map<String, Object> terms = new HashMap<String, Object>();
		String windRoseResult = "/data/windrose/windRoseResult16Sectors6Splits.json";
		
		// @formatter:off
		
		Integer speedDataDefinition = 20,
				directionDataDefinition = 19,
				numSectors = 16,
				numSplits = 6;
		((Map<String, Object>) query.get("terms")).put("numSectors", numSectors);
		((Map<String, Object>) query.get("terms")).put("numSplits", numSplits);
		
		this.mockMvc
				.perform(post(TIMESERIES_PATH + WINDROSE_PATH + "/_search").content(mapper.writeValueAsString(query))
					.contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON))
				.andExpect(status().isOk())
				.andExpect(jsonPath("$.success", is(true)))
				.andExpect(jsonPath("$.body.data", notNullValue()))
				.andExpect(jsonPath("$.body.limits.length()", is(numSplits)))
				.andExpect(jsonPath("$.body.data.length()", is(numSectors)))
				.andExpect(jsonPath("$.body", is(mapper.readValue(getClass().getResource(windRoseResult).openStream(), Map.class))));

		// @formatter:on
	}

		Map<String, Object> dataDefinition = new HashMap<>();
		dataDefinition.put("speed", speedDataDefinition);
		dataDefinition.put("direction", directionDataDefinition);
		terms.put("dataDefinition", dataDefinition);
	@SuppressWarnings("unchecked")
	@Test
	public void windRose36Sectors10Splits_Return200_WhenSearchIsCorrect() throws Exception {

		terms.put("numSectors", numSectors);
		terms.put("numSplits", numSplits);
		// @formatter:off
		
		dataQuery.setTerms(terms);
		Integer numSectors = 36,
				numSplits = 10;
		
		// Se elimina accessibilityIds ya que no está permitido para usuarios
		// no registrados
		HashMap<String, Object> query = mapper.convertValue(dataQuery, HashMap.class);
		query.remove("accessibilityIds");
		String windRoseResult = "/data/windrose/windRoseResult36Sectors10Splits.json";
		
		// @formatter:off
		((Map<String, Object>) query.get("terms")).put("numSectors", numSectors);
		((Map<String, Object>) query.get("terms")).put("numSplits", numSplits);
		
		ResultActions result = this.mockMvc
		this.mockMvc
				.perform(post(TIMESERIES_PATH + WINDROSE_PATH + "/_search").content(mapper.writeValueAsString(query))
					.contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON))
				.andExpect(status().isOk())
				.andExpect(jsonPath("$.success", is(true)))
				.andExpect(jsonPath("$.body.data", notNullValue()))
				.andExpect(jsonPath("$.body.limits.length()", is(numSplits)))
				.andExpect(jsonPath("$.body.data.length()", is(numSectors)));
		
		result.andDo(MockMvcResultHandlers.print());
				.andExpect(jsonPath("$.body.data.length()", is(numSectors)))
				.andExpect(jsonPath("$.body", is(mapper.readValue(getClass().getResource(windRoseResult).openStream(), Map.class))));
		
		// @formatter:on
	}
+2422 −0

File added.

Preview size limit exceeded, changes collapsed.

+231 −0
Original line number Diff line number Diff line
{
	"limits": [{
		"min": 0.0,
		"max": 4.217
	}, {
		"min": 4.217,
		"max": 8.433
	}, {
		"min": 8.433,
		"max": 12.65
	}, {
		"min": 12.65,
		"max": 16.867
	}, {
		"min": 16.867,
		"max": 21.083
	}, {
		"min": 21.083,
		"max": 25.3
	}],
	"data": [
		[{
			"value": 6.441
		}, {
			"value": 3.633
		}, {
			"value": 2.725
		}, {
			"value": 0.908
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.248
		}, {
			"value": 1.652
		}, {
			"value": 0.908
		}, {
			"value": 0.165
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.165
		}, {
			"value": 1.982
		}, {
			"value": 0.826
		}, {
			"value": 0.165
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.165
		}, {
			"value": 1.486
		}, {
			"value": 1.156
		}, {
			"value": 0.413
		}, {
			"value": 0.826
		}, {
			"value": 0.083
		}],
		[{
			"value": 0.578
		}, {
			"value": 2.23
		}, {
			"value": 1.073
		}, {
			"value": 0.743
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.33
		}, {
			"value": 2.808
		}, {
			"value": 1.486
		}, {
			"value": 0.991
		}, {
			"value": 0.33
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.661
		}, {
			"value": 1.239
		}, {
			"value": 2.147
		}, {
			"value": 0.413
		}, {
			"value": 0.33
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.413
		}, {
			"value": 1.404
		}, {
			"value": 0.578
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.991
		}, {
			"value": 1.982
		}, {
			"value": 0.661
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 2.477
		}, {
			"value": 0.991
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.33
		}, {
			"value": 3.055
		}, {
			"value": 1.652
		}, {
			"value": 0.33
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 1.156
		}, {
			"value": 5.945
		}, {
			"value": 1.899
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.661
		}, {
			"value": 4.211
		}, {
			"value": 3.716
		}, {
			"value": 1.404
		}, {
			"value": 0.991
		}, {
			"value": 0.248
		}],
		[{
			"value": 0.826
		}, {
			"value": 1.982
		}, {
			"value": 2.973
		}, {
			"value": 3.303
		}, {
			"value": 1.982
		}, {
			"value": 0.248
		}],
		[{
			"value": 0.413
		}, {
			"value": 3.468
		}, {
			"value": 1.734
		}, {
			"value": 0.165
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.248
		}, {
			"value": 4.046
		}, {
			"value": 1.652
		}, {
			"value": 1.321
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}]
	]
}
 No newline at end of file
+791 −0
Original line number Diff line number Diff line
{
	"limits": [{
		"min": 0.0,
		"max": 2.53
	}, {
		"min": 2.53,
		"max": 5.06
	}, {
		"min": 5.06,
		"max": 7.59
	}, {
		"min": 7.59,
		"max": 10.12
	}, {
		"min": 10.12,
		"max": 12.65
	}, {
		"min": 12.65,
		"max": 15.18
	}, {
		"min": 15.18,
		"max": 17.71
	}, {
		"min": 17.71,
		"max": 20.24
	}, {
		"min": 20.24,
		"max": 22.77
	}, {
		"min": 22.77,
		"max": 25.3
	}],
	"data": [
		[{
			"value": 5.863
		}, {
			"value": 0.826
		}, {
			"value": 0.413
		}, {
			"value": 0.578
		}, {
			"value": 0.826
		}, {
			"value": 0.413
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.495
		}, {
			"value": 0.661
		}, {
			"value": 0.413
		}, {
			"value": 0.413
		}, {
			"value": 0.0
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.413
		}, {
			"value": 0.33
		}, {
			"value": 0.165
		}, {
			"value": 0.33
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.495
		}, {
			"value": 0.413
		}, {
			"value": 0.248
		}, {
			"value": 0.413
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.248
		}, {
			"value": 0.661
		}, {
			"value": 0.33
		}, {
			"value": 0.413
		}, {
			"value": 0.083
		}, {
			"value": 0.083
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.33
		}, {
			"value": 0.495
		}, {
			"value": 0.248
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.33
		}, {
			"value": 0.33
		}, {
			"value": 0.083
		}, {
			"value": 0.33
		}, {
			"value": 0.248
		}, {
			"value": 0.083
		}, {
			"value": 0.248
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.248
		}, {
			"value": 0.413
		}, {
			"value": 0.413
		}, {
			"value": 0.661
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.495
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.495
		}, {
			"value": 1.073
		}, {
			"value": 0.33
		}, {
			"value": 0.33
		}, {
			"value": 0.083
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.248
		}, {
			"value": 0.083
		}, {
			"value": 0.083
		}, {
			"value": 0.165
		}, {
			"value": 0.165
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.413
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.413
		}, {
			"value": 0.248
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.661
		}, {
			"value": 0.578
		}, {
			"value": 0.248
		}, {
			"value": 0.578
		}, {
			"value": 0.083
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.826
		}, {
			"value": 0.908
		}, {
			"value": 0.248
		}, {
			"value": 0.578
		}, {
			"value": 0.495
		}, {
			"value": 0.248
		}, {
			"value": 0.165
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.661
		}, {
			"value": 0.33
		}, {
			"value": 0.661
		}, {
			"value": 0.743
		}, {
			"value": 0.248
		}, {
			"value": 0.495
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.33
		}, {
			"value": 0.248
		}, {
			"value": 0.33
		}, {
			"value": 0.743
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.165
		}, {
			"value": 0.413
		}, {
			"value": 0.165
		}, {
			"value": 0.495
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.578
		}, {
			"value": 0.33
		}, {
			"value": 0.165
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 1.156
		}, {
			"value": 0.743
		}, {
			"value": 0.083
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.495
		}, {
			"value": 0.165
		}, {
			"value": 0.248
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.083
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.743
		}, {
			"value": 0.578
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.165
		}, {
			"value": 0.743
		}, {
			"value": 0.578
		}, {
			"value": 0.413
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.248
		}, {
			"value": 0.33
		}, {
			"value": 1.073
		}, {
			"value": 0.413
		}, {
			"value": 0.0
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.743
		}, {
			"value": 0.826
		}, {
			"value": 0.908
		}, {
			"value": 0.495
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 1.239
		}, {
			"value": 1.652
		}, {
			"value": 0.743
		}, {
			"value": 0.743
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 1.486
		}, {
			"value": 1.404
		}, {
			"value": 0.991
		}, {
			"value": 0.743
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.578
		}, {
			"value": 0.991
		}, {
			"value": 0.661
		}, {
			"value": 0.661
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.743
		}, {
			"value": 0.578
		}, {
			"value": 0.661
		}, {
			"value": 1.321
		}, {
			"value": 0.578
		}, {
			"value": 0.0
		}, {
			"value": 0.248
		}, {
			"value": 0.0
		}, {
			"value": 0.083
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.578
		}, {
			"value": 0.578
		}, {
			"value": 0.578
		}, {
			"value": 0.661
		}, {
			"value": 0.083
		}, {
			"value": 0.578
		}, {
			"value": 0.33
		}, {
			"value": 0.248
		}, {
			"value": 0.165
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.413
		}, {
			"value": 0.33
		}, {
			"value": 0.248
		}, {
			"value": 0.33
		}, {
			"value": 1.321
		}, {
			"value": 0.743
		}, {
			"value": 0.578
		}, {
			"value": 0.248
		}, {
			"value": 0.083
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.826
		}, {
			"value": 0.413
		}, {
			"value": 1.321
		}, {
			"value": 1.899
		}, {
			"value": 0.991
		}, {
			"value": 1.073
		}, {
			"value": 0.248
		}, {
			"value": 0.165
		}, {
			"value": 0.083
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.661
		}, {
			"value": 0.908
		}, {
			"value": 0.826
		}, {
			"value": 0.578
		}, {
			"value": 0.083
		}, {
			"value": 0.083
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.578
		}, {
			"value": 1.156
		}, {
			"value": 0.413
		}, {
			"value": 0.495
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.33
		}, {
			"value": 1.156
		}, {
			"value": 0.743
		}, {
			"value": 0.578
		}, {
			"value": 0.33
		}, {
			"value": 0.165
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.33
		}, {
			"value": 1.404
		}, {
			"value": 0.908
		}, {
			"value": 0.495
		}, {
			"value": 0.661
		}, {
			"value": 0.165
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}],
		[{
			"value": 0.0
		}, {
			"value": 0.33
		}, {
			"value": 0.578
		}, {
			"value": 0.826
		}, {
			"value": 0.578
		}, {
			"value": 0.33
		}, {
			"value": 0.083
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}, {
			"value": 0.0
		}]
	]
}
 No newline at end of file
+0 −74

File deleted.

Preview size limit exceeded, changes collapsed.