aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2019-03-11 09:34:34 +0200
committerIttay Stern <ittay.stern@att.com>2019-03-17 17:02:43 +0200
commit66af8b9b391879be78660d6ccb0a1f1f9340b423 (patch)
treefc0d510f7ea28a437bcb1e3b950d1281ac88a4e4 /vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java
parent37ad0cc1d36ec6ff68ec39fcaaf2617eef7d08fe (diff)
Merge automation from ECOMP's repository
Reference commit in ECOMP: 8e92a8c6 Issue-ID: VID-378 Change-Id: Ia32f4813378ef95097f788246aa5b1172e20ca48 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java')
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java203
1 files changed, 0 insertions, 203 deletions
diff --git a/vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java
deleted file mode 100644
index e7c6045a4..000000000
--- a/vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.onap.vid.api;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.common.primitives.Ints;
-import org.apache.commons.io.IOUtils;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
-import org.glassfish.jersey.client.ClientProperties;
-import org.glassfish.jersey.uri.internal.JerseyUriBuilder;
-import org.openecomp.sdc.ci.tests.datatypes.UserCredentials;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
-import org.springframework.http.client.ClientHttpRequestInterceptor;
-import org.springframework.http.client.ClientHttpResponse;
-import org.springframework.web.client.DefaultResponseErrorHandler;
-import org.springframework.web.client.RestTemplate;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import vid.automation.test.infra.FeaturesTogglingConfiguration;
-import vid.automation.test.services.UsersService;
-import vid.automation.test.utils.CookieAndJsonHttpHeadersInterceptor;
-
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URL;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.List;
-import java.util.Properties;
-import java.util.Random;
-
-import static java.util.Collections.singletonList;
-import static org.apache.commons.text.StringEscapeUtils.unescapeJson;
-import static org.hamcrest.CoreMatchers.everyItem;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.greaterThan;
-
-public class BaseApiTest {
- protected static final Logger LOGGER = LogManager.getLogger(BaseApiTest.class);
-
- @SuppressWarnings("WeakerAccess")
- protected URI uri;
- @SuppressWarnings("WeakerAccess")
- protected ObjectMapper objectMapper = new ObjectMapper();
- @SuppressWarnings("WeakerAccess")
- protected Client client;
- protected Random random;
- protected final RestTemplate restTemplate = new RestTemplate();
-
- protected final UsersService usersService = new UsersService();
- protected final RestTemplate restTemplateErrorAgnostic = new RestTemplate();
-
- @BeforeClass
- public void init() {
- uri = getUri();
- objectMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false);
- client = ClientBuilder.newClient();
- client.property(ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true);
- random = new Random(System.currentTimeMillis());
- FeaturesTogglingConfiguration.initializeFeatureManager();
- }
-
- private URI getUri() {
- String host = System.getProperty("VID_HOST", "127.0.0.1");
- Integer port = Integer.valueOf(System.getProperty("VID_PORT", "8080"));
- return new JerseyUriBuilder().host(host).port(port).scheme("http").path("vid").build();
- }
-
- public void login() {
- UserCredentials userCredentials = getUserCredentials();
- final List<ClientHttpRequestInterceptor> interceptors = singletonList(new CookieAndJsonHttpHeadersInterceptor(getUri(), userCredentials));
- restTemplate.setInterceptors(interceptors);
-
- restTemplateErrorAgnostic.setInterceptors(interceptors);
- restTemplateErrorAgnostic.setErrorHandler(new DefaultResponseErrorHandler() {
- @Override
- public boolean hasError(ClientHttpResponse response) {
- return false;
- }
- });
- }
-
-
- static class DB_CONFIG {
- static String url = String.format("jdbc:mariadb://%s:%d/vid_portal",
- System.getProperty("DB_HOST", System.getProperty("VID_HOST", "127.0.0.1")),
- Integer.valueOf(System.getProperty("DB_PORT", "3306"))
- );
- static String username = "euser";
- static String password = "euser";
-
- static final int userId = 2222;
- static final String loginId = "vid1";
- static final int roleId = 2222221;
- static final int logRoleId = 2222222;
- }
-
-
- @BeforeClass
- protected void createNewTestUser() {
-
- deleteNewTestUser();
-
- LOGGER.debug("Connecting database...");
-
- try (Connection connection = DriverManager.getConnection(DB_CONFIG.url, DB_CONFIG.username, DB_CONFIG.password)) {
-
- LOGGER.debug("Database connected!");
- //create new user with specific role
- Statement stmt = connection.createStatement();
- stmt.addBatch("INSERT INTO `fn_user` (`USER_ID`, `ORG_USER_ID`, `LOGIN_ID`, `LOGIN_PWD`) VALUES (" + DB_CONFIG.userId + ", 'Porfirio Gerhardt', '" + DB_CONFIG.loginId + "', '" + DB_CONFIG.loginId + "')");
- stmt.addBatch("INSERT INTO `fn_role` (`ROLE_ID`, `ROLE_NAME`, `ACTIVE_YN`, `PRIORITY`) VALUES (" + DB_CONFIG.roleId + ", 'PACKET CORE___vFlowLogic', 'Y', 5)");
- stmt.addBatch("INSERT INTO `fn_role` (`ROLE_ID`, `ROLE_NAME`, `ACTIVE_YN`, `PRIORITY`) VALUES (" + DB_CONFIG.logRoleId + ", 'READ___LOGS___PERMITTED', 'Y', 5)");
- stmt.addBatch("INSERT INTO `fn_user_role` (`USER_ID`, `ROLE_ID`, `PRIORITY`, `APP_ID`) VALUES (" + DB_CONFIG.userId + ", " + DB_CONFIG.roleId + ", NULL, 1)");
- stmt.addBatch("INSERT INTO `fn_user_role` (`USER_ID`, `ROLE_ID`, `PRIORITY`, `APP_ID`) VALUES (" + DB_CONFIG.userId + ", " + DB_CONFIG.logRoleId + ", NULL, 1)");
-
-
- int[] executeBatch = stmt.executeBatch();
- assertThat(Ints.asList(executeBatch), everyItem(greaterThan(0)));
-
- } catch (SQLException e) {
- throw new IllegalStateException("Cannot connect the database!", e);
- }
-
- }
-
- @AfterClass
- protected void deleteNewTestUser() {
- LOGGER.debug("Connecting database...");
-
- try (Connection connection = DriverManager.getConnection(DB_CONFIG.url, DB_CONFIG.username, DB_CONFIG.password)) {
- LOGGER.debug("Database connected!");
- Statement stmt = connection.createStatement();
- stmt.addBatch("DELETE FROM `fn_user_role` WHERE `USER_ID` = " + DB_CONFIG.userId);
- stmt.addBatch("DELETE FROM `fn_user` WHERE `USER_ID` = " + DB_CONFIG.userId);
- stmt.addBatch("DELETE FROM `fn_role` WHERE `ROLE_ID` = " + DB_CONFIG.roleId);
- stmt.addBatch("DELETE FROM `fn_role` WHERE `ROLE_ID` = " + DB_CONFIG.logRoleId);
-
-
- int[] executeBatch = stmt.executeBatch();
-
- } catch (SQLException e) {
- throw new IllegalStateException("Cannot connect the database!", e);
- }
- }
-
- protected UserCredentials getUserCredentials() {
- final Properties configProp = new Properties();
- try {
- InputStream input = ClassLoader.getSystemResourceAsStream("test_config.properties");
- configProp.load(input);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
-
- HttpHeaders loginRequestHeaders = new HttpHeaders();
- loginRequestHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- String loginId = configProp.getProperty("test.loginId", "i'm illegal");
- String loginPassword = configProp.getProperty("test.loginPassword", "i'm illegal");
- return new UserCredentials(loginId, loginPassword, null, null, null);
- }
-
-
-
-
- protected String getCleanJsonString(String jsonString) {
- // remove leading/trailing double-quotes and unescape
- String res = unescapeJson(jsonString.replaceAll("^\"|\"$", ""));
- LOGGER.debug("getCleanJsonString: " + jsonString + " ==> " + res);
- return res;
- }
-
- protected String getCleanJsonString(Object object) throws JsonProcessingException {
- if (object instanceof String) {
- return getCleanJsonString((String) object);
- } else {
- return new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(object);
- }
- }
-
- protected String buildUri(String path) {
- return uri + "/" + path;
- }
-
- public static String getResourceAsString(String resourcePath) {
- // load expected result
- final URL resource = BaseApiTest.class.getClassLoader().getResource(resourcePath);
- if (resource == null) throw new RuntimeException("resource file not found: " + resourcePath);
- try {
- return IOUtils.toString(resource, "UTF-8");
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
-}