From 66af8b9b391879be78660d6ccb0a1f1f9340b423 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Mon, 11 Mar 2019 09:34:34 +0200 Subject: Merge automation from ECOMP's repository Reference commit in ECOMP: 8e92a8c6 Issue-ID: VID-378 Change-Id: Ia32f4813378ef95097f788246aa5b1172e20ca48 Signed-off-by: Ittay Stern --- .../test/java/org/onap/vid/api/BaseApiTest.java | 203 --------------------- 1 file changed, 203 deletions(-) delete mode 100644 vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java (limited to 'vid-automation/src/test/java/org/onap/vid/api/BaseApiTest.java') 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 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); - } - } - -} -- cgit 1.2.3-korg