From b1d5e89e9c76d042a00f5a6c43e48931e288453c Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Fri, 11 Nov 2022 10:51:25 +0200 Subject: [PATCH] refactoring --- .../server/msa/AbstractContainerTest.java | 4 +- .../server/msa/ContainerTestSuite.java | 2 +- .../server/msa/TestProperties.java | 43 +++++++++++-------- .../server/msa/TestRestClient.java | 15 +++---- .../msa/connectivity/HttpClientTest.java | 4 +- .../msa/connectivity/MqttClientTest.java | 1 - .../connectivity/MqttGatewayClientTest.java | 12 ++++-- 7 files changed, 44 insertions(+), 37 deletions(-) diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java index e9e6036771..d647a6d927 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java @@ -29,8 +29,10 @@ import org.testng.annotations.BeforeSuite; import org.testng.annotations.Listeners; import org.thingsboard.server.common.data.EntityType; import org.thingsboard.server.common.data.id.DeviceId; + import java.net.URI; -import java.util.*; +import java.util.Map; +import java.util.Random; @Slf4j diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java index c32a6bdbe6..2ff7088fa0 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java @@ -54,7 +54,7 @@ public class ContainerTestSuite { private DockerComposeContainer testContainer; private ThingsBoardDbInstaller installTb; - public boolean isActive; + private boolean isActive; private static ContainerTestSuite containerTestSuite; diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java index 6e3a024cda..9acc2c2046 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java @@ -15,44 +15,49 @@ */ package org.thingsboard.server.msa; -import java.io.FileInputStream; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + import java.io.IOException; import java.io.InputStream; import java.util.Properties; +@Slf4j +@Component public class TestProperties { - public static final String HTTPS_URL = "https://localhost"; - protected static final String WSS_URL = "wss://localhost"; + private static final String HTTPS_URL = "https://localhost"; - public static final ContainerTestSuite instance = ContainerTestSuite.getInstance(); + private static final String WSS_URL = "wss://localhost"; - public static String getBaseUrl(){ + private static final ContainerTestSuite instance = ContainerTestSuite.getInstance(); + + private static Properties properties; + + public static String getBaseUrl() { if (instance.isActive()) { return HTTPS_URL; } - return getProperty("tb.baseUrl"); + return getProperties().getProperty("tb.baseUrl"); } - public static String getWebSocketUrl(){ + public static String getWebSocketUrl() { if (instance.isActive()) { return WSS_URL; } - return getProperty("tb.wsUrl"); + return getProperties().getProperty("tb.wsUrl"); } - private static String getProperty(String propertyName) { - - try (InputStream input = TestProperties.class.getClassLoader().getResourceAsStream("config.properties")) { - Properties prop = new Properties(); - prop.load(input); - return prop.getProperty(propertyName); - - } catch (IOException ex) { - ex.printStackTrace(); + private static Properties getProperties() { + if (properties == null) { + try (InputStream input = TestProperties.class.getClassLoader().getResourceAsStream("config.properties")) { + properties = new Properties(); + properties.load(input); + } catch (IOException ex) { + log.error("Exception while reading test properties " + ex.getMessage()); + } } - return null; - + return properties; } } diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestRestClient.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestRestClient.java index 0b0c4b89bc..b1907a0d99 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestRestClient.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestRestClient.java @@ -17,10 +17,8 @@ package org.thingsboard.server.msa; import com.fasterxml.jackson.databind.JsonNode; import io.restassured.RestAssured; -import io.restassured.builder.ResponseSpecBuilder; import io.restassured.common.mapper.TypeRef; import io.restassured.config.HeaderConfig; -import io.restassured.config.HttpClientConfig; import io.restassured.config.RestAssuredConfig; import io.restassured.filter.log.RequestLoggingFilter; import io.restassured.filter.log.ResponseLoggingFilter; @@ -28,9 +26,10 @@ import io.restassured.http.ContentType; import io.restassured.path.json.JsonPath; import io.restassured.response.ValidatableResponse; import io.restassured.specification.RequestSpecification; -import io.restassured.specification.ResponseSpecification; -import org.hamcrest.Matchers; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.TestPropertySource; import org.thingsboard.server.common.data.Device; import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.id.EntityId; @@ -48,8 +47,6 @@ import java.util.List; import java.util.Map; import static io.restassured.RestAssured.given; -import static org.apache.http.params.CoreConnectionPNames.CONNECTION_TIMEOUT; -import static org.apache.http.params.CoreConnectionPNames.SO_TIMEOUT; import static org.hamcrest.Matchers.is; import static org.hamcrest.core.AnyOf.anyOf; import static org.thingsboard.server.common.data.StringUtils.isEmpty; @@ -59,9 +56,7 @@ public class TestRestClient { private final String baseURL; private String token; private String refreshToken; - private RequestSpecification requestSpec; - private ResponseSpecification responseSpec; - protected static final String ACTIVATE_TOKEN_REGEX = "/api/noauth/activate?activateToken="; + private final RequestSpecification requestSpec; public TestRestClient(String url) { RestAssured.filters(new RequestLoggingFilter(), new ResponseLoggingFilter()); @@ -78,7 +73,7 @@ public class TestRestClient { } } - public void login(String username, String password) throws Exception { + public void login(String username, String password) { Map loginRequest = new HashMap<>(); loginRequest.put("username", username); loginRequest.put("password", password); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/HttpClientTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/HttpClientTest.java index 6f24f00854..2eb4cdf076 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/HttpClientTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/HttpClientTest.java @@ -25,12 +25,12 @@ import org.thingsboard.server.msa.AbstractContainerTest; import org.thingsboard.server.msa.WsClient; import org.thingsboard.server.msa.mapper.WsTelemetryResponse; - import java.util.Arrays; import java.util.concurrent.TimeUnit; import static org.assertj.core.api.Assertions.assertThat; -import static org.thingsboard.server.common.data.DataConstants.*; +import static org.thingsboard.server.common.data.DataConstants.DEVICE; +import static org.thingsboard.server.common.data.DataConstants.SHARED_SCOPE; import static org.thingsboard.server.msa.prototypes.DevicePrototypes.defaultDevicePrototype; public class HttpClientTest extends AbstractContainerTest { diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttClientTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttClientTest.java index 7e7ebf07ab..55dd432644 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttClientTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttClientTest.java @@ -64,7 +64,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.testng.Assert.fail; import static org.thingsboard.server.common.data.DataConstants.DEVICE; import static org.thingsboard.server.common.data.DataConstants.SHARED_SCOPE; -import static org.thingsboard.server.msa.TestProperties.HTTPS_URL; import static org.thingsboard.server.msa.prototypes.DevicePrototypes.defaultDevicePrototype; @Slf4j diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttGatewayClientTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttGatewayClientTest.java index ab42abc88e..c97214e18c 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttGatewayClientTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/connectivity/MqttGatewayClientTest.java @@ -28,7 +28,6 @@ import io.netty.handler.codec.mqtt.MqttQoS; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.testcontainers.shaded.org.apache.commons.lang3.RandomStringUtils; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; @@ -52,8 +51,15 @@ import org.thingsboard.server.msa.mapper.WsTelemetryResponse; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.concurrent.*; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import java.util.Random; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import static org.assertj.core.api.Assertions.assertThat; import static org.thingsboard.server.common.data.DataConstants.DEVICE;