Commit 5da9c612 authored by Noel Alonso's avatar Noel Alonso
Browse files

Merge branch 'dev' into 'master'

Actualiza imagen de compilación

See merge request redmic-project/server/library/test-utils!1
parents 6fab07d7 1bb1fe73
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ stages:

maven-build:
  stage: build
  image: redmic/maven-gitlab
  image: registry.gitlab.com/redmic-project/docker/maven
  variables:
    MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
  only:
+54 −10
Original line number Diff line number Diff line
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
    	<version>2.0.0.RELEASE</version>
		<version>2.0.3.RELEASE</version>
		<relativePath />
	</parent>

@@ -29,8 +30,10 @@
		<!-- Others -->
		<oauth.version>2.3.0.RELEASE</oauth.version>
		<jackson-datatype-jts.version>2.4</jackson-datatype-jts.version>
		<ma.glasnost.orika.core>1.5.2</ma.glasnost.orika.core>
		<ma.glasnost.orika.core>1.4.6</ma.glasnost.orika.core>
		<powermock.version>1.7.3</powermock.version>
		<confluent.version>4.1.2</confluent.version>
		<jersey-guava.version>2.26-b03</jersey-guava.version>

		<!-- Environment variables -->
		<env.MAVEN_REPO_URL>https://artifactory.redmic.net/artifactory</env.MAVEN_REPO_URL>
@@ -95,6 +98,40 @@
			<version>${powermock.version}</version>
		</dependency>

		<!-- Schema Registry for testing -->

		<dependency>
			<groupId>io.confluent</groupId>
			<artifactId>kafka-schema-registry</artifactId>
			<version>${confluent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.glassfish</groupId>
					<artifactId>javax.el</artifactId>
				</exclusion>
				<exclusion>
					<groupId>javax.el</groupId>
    				<artifactId>javax.el-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.glassfish.web</groupId>
					<artifactId>javax.el</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.inject</groupId>
			<artifactId>jersey-hk2</artifactId>
			<version>${jersey.version}</version>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.bundles.repackaged</groupId>
			<artifactId>jersey-guava</artifactId>
			<version>${jersey-guava.version}</version>
		</dependency>

		<!--test de documentación -->

		<dependency>
@@ -115,4 +152,11 @@
			<uniqueVersion>false</uniqueVersion>
		</snapshotRepository>
	</distributionManagement>
	<repositories>
		<repository>
			<id>confluent</id>
			<name>Confluent</name>
			<url>https://packages.confluent.io/maven/</url>
		</repository>
	</repositories>
</project>
 No newline at end of file
+32 −0
Original line number Diff line number Diff line
@@ -81,6 +81,14 @@ public abstract class DocumentationViewBaseTest extends IntegrationTestBase {
			put("regexp", "Regexp which apply to search");
			put("postFilter", "Terms for create facets queries");
			put("aggs", "Terms for create aggregations");
			put("dateLimits", "Date interval query");
			put("bbox", "Bounding box query");
			put("precision", "Precision radio of a point");
			put("qFlags", "Quality flag of a data");
			put("vFlags", "Value type");
			put("interval", "Query by time interval of a timeserie");
			put("z", "Query by z field");
			put("value", "Query by value");
		}
	};

@@ -129,6 +137,30 @@ public abstract class DocumentationViewBaseTest extends IntegrationTestBase {
				preprocessResponse(prettyPrint()), requestFields(getMetadataQueryFieldsDescriptor(fields)));
	}

	protected RestDocumentationResultHandler getDataQueryFieldsDescriptor() {

		ConstrainedFields fields = new ConstrainedFields(MetadataQueryDTO.class);

		return document("{class-name}/{method-name}", preprocessRequest(prettyPrint()),
				preprocessResponse(prettyPrint()), requestFields(getDataQueryFieldsDescriptor(fields)));
	}

	private List<FieldDescriptor> getDataQueryFieldsDescriptor(ConstrainedFields fields) {

		List<FieldDescriptor> fieldDescriptor = getMetadataQueryFieldsDescriptor(fields);

		fieldDescriptor.add(fields.withPath("dateLimits").description(parametersDescription.get("dateLimits")));
		fieldDescriptor.add(fields.withPath("bbox").description(parametersDescription.get("bbox")));
		fieldDescriptor.add(fields.withPath("precision").description(parametersDescription.get("precision")));
		fieldDescriptor.add(fields.withPath("qFlags").description(parametersDescription.get("qFlags")));
		fieldDescriptor.add(fields.withPath("vFlags").description(parametersDescription.get("vFlags")));
		fieldDescriptor.add(fields.withPath("interval").description(parametersDescription.get("interval")));
		fieldDescriptor.add(fields.withPath("z").description(parametersDescription.get("z")));
		fieldDescriptor.add(fields.withPath("value").description(parametersDescription.get("value")));

		return fieldDescriptor;
	}

	private List<FieldDescriptor> getMetadataQueryFieldsDescriptor(ConstrainedFields fields) {

		List<FieldDescriptor> fieldDescriptor = getSimpleQueryFieldsDescriptor(fields);
+42 −0
Original line number Diff line number Diff line
package es.redmic.testutils.kafka;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.AfterClass;
import org.springframework.beans.factory.annotation.Value;

import es.redmic.testutils.schemaregistry.RestApp;
import io.confluent.kafka.schemaregistry.avro.AvroCompatibilityLevel;

public abstract class KafkaBaseIntegrationTest {

	protected static Logger logger = LogManager.getLogger();

	@Value("${spring.kafka.properties.schema.registry.url}")
	protected String SCHEMA_REGISTRY_URL;

	protected static RestApp restApp = null;

	protected void createSchemaRegistryRestApp(String zookeeperConnection, String brokers) {

		logger.info("Arrancando schema registry rest app en la url " + SCHEMA_REGISTRY_URL);

		restApp = new RestApp(Integer.parseInt(SCHEMA_REGISTRY_URL.split(":")[2]), SCHEMA_REGISTRY_URL,
				zookeeperConnection, brokers, AvroCompatibilityLevel.BACKWARD_TRANSITIVE.name);

		try {
			restApp.start();
		} catch (Exception e) {

			logger.debug("Servidor arrancado. Descartando acción");
		}
	}

	@AfterClass
	public static void removeSchemaRegistryRestApp() throws Exception {

		logger.info("Parando schema registry rest app");

		// restApp.stop();
	}
}
+2 −1
Original line number Diff line number Diff line
@@ -14,10 +14,11 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.context.WebApplicationContext;

import es.redmic.testutils.kafka.KafkaBaseIntegrationTest;
import es.redmic.utils.httpclient.HttpClient;

@ActiveProfiles("test")
public abstract class IntegrationTestBase {
public abstract class IntegrationTestBase extends KafkaBaseIntegrationTest {

	@Autowired
	protected WebApplicationContext webApplicationContext;
Loading