Commit 4a871019 authored by Noel Alonso's avatar Noel Alonso
Browse files

Elimina dependencia de test-utils

Debido a que test-utils contiene componentes que api no usa, se elimina esta dependencia
implementando las componentes necesarias en el entorno de tests.
Cambia tests para hacer uso de estas dependencias
parent b4da0428
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@
		<!-- OTHERS -->
		<orika-core.version>1.4.6</orika-core.version>
		<commons-fileupload>1.3.2</commons-fileupload>
		<powermock.version>1.7.3</powermock.version>
		
		<!-- Plugins -->
		<jacoco.version>0.8.1</jacoco.version>
@@ -146,10 +147,25 @@
		<!-- tests -->

		<dependency>
			<groupId>es.redmic.lib</groupId>
			<artifactId>test-utils</artifactId>
			<version>${redmic.test-utils.version}</version>
			<scope>test</scope>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-test</artifactId>
		</dependency>

		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-api-easymock</artifactId>
			<version>${powermock.version}</version>
		</dependency>

		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<version>${powermock.version}</version>
		</dependency>

		<!--test de documentación -->
+0 −1
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ import es.redmic.models.es.administrative.taxonomy.model.Species;
import es.redmic.models.es.common.dto.ElasticSearchDTO;
import es.redmic.models.es.common.dto.SuperDTO;
import es.redmic.models.es.common.query.dto.MetadataQueryDTO;
import es.redmic.models.es.common.query.dto.SimpleQueryDTO;

@RestController
@RequestMapping(value = "${controller.mapping.SPECIES}")
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import es.redmic.ApiApplication;
import es.redmic.models.es.common.query.dto.DataQueryDTO;
import es.redmic.test.integration.ApiApplicationTest;
import es.redmic.testutils.oauth.IntegrationTestBase;
import es.redmic.test.integration.common.IntegrationTestBase;

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = { ApiApplication.class,
+96 −0
Original line number Diff line number Diff line
package es.redmic.test.integration.common;

import java.util.HashMap;
import java.util.Map;

import org.junit.Before;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.web.FilterChainProxy;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.context.WebApplicationContext;

import es.redmic.utils.httpclient.HttpClient;

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

	@Autowired
	protected WebApplicationContext webApplicationContext;

	@Autowired
	protected FilterChainProxy springSecurityFilterChain;

	protected MockMvc mockMvc;

	HttpClient client = new HttpClient();

	@Value("${oauth.server}")
	private String OAUTH_SERVER_PATH;

	// TEST USERS

	@Value("${test.user.ADMINISTRATOR}")
	private String ADMINISTRATOR_USER;

	@Value("${test.user.OAG}")
	private String OAG_USER;

	@Value("${test.user.COLLABORATOR}")
	private String COLLABORATOR_USER;

	@Value("${test.user.USER}")
	private String USER;

	@Value("${test.user.PASSWORD}")
	private String PASSWORD;

	@Before
	public void setUp() {

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

	protected String getTokenAdministratorUser() {

		return obtainAccessToken(ADMINISTRATOR_USER, PASSWORD);
	}

	protected String getTokenOAGUser() {

		return obtainAccessToken(OAG_USER, PASSWORD);
	}

	protected String getTokenCollaboratorUser() {

		return obtainAccessToken(COLLABORATOR_USER, PASSWORD);
	}

	protected String getTokenUser() {

		return obtainAccessToken(USER, PASSWORD);
	}

	@SuppressWarnings("unchecked")
	private String obtainAccessToken(String username, String password) {

		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
		params.add("grant_type", "password");
		params.add("username", username);
		params.add("password", password);
		params.add("scope", "write");

		Map<String, String> headers = new HashMap<>();
		headers.put("Authorization", "Basic YXBwOnNlY3JldEtleQ==");

		Map<String, String> result = (Map<String, String>) client.post(OAUTH_SERVER_PATH + "/api/oauth/token", params,
				headers, java.util.HashMap.class);

		return result.get("access_token");
	}
}
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ import es.redmic.mediastorage.service.MediaStorageServiceItfc;
import es.redmic.models.es.common.dto.BodyItemDTO;
import es.redmic.models.es.common.dto.UrlDTO;
import es.redmic.test.integration.ApiApplicationTest;
import es.redmic.testutils.oauth.IntegrationTestBase;
import es.redmic.test.integration.common.IntegrationTestBase;

@SpringBootTest(classes = { ApiApplication.class,
		ApiApplicationTest.class }, webEnvironment = WebEnvironment.RANDOM_PORT)
Loading