aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>2024-04-04 10:37:43 +0200
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>2024-04-04 10:37:43 +0200
commit21e01d4ae2d5583112b23290a6d52f70951e70cd (patch)
tree54048723b17ba6eceee639680c64c7c11bac6cf4 /src
parent338ea513407cac56c78678f6697a2e55b6bc22b9 (diff)
Constructor inject the jakarte ee ClientBuilderHEADmaster
- do not create the ClientBuilder inside the classes but rather constructor inject it - this way instrumentation of the client could be possible when tracing is enabled Issue-ID: AAI-3817 Change-Id: I4c6d1faf8da98283e8bbae66bd0b3207786a4ce5 Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/onap/aai/restclient/client/RestClient.java5
-rw-r--r--src/main/java/org/onap/aai/restclient/rest/RestClientBuilder.java7
-rw-r--r--src/test/java/org/onap/aai/restclient/client/RestfulClientTest.java6
-rw-r--r--src/test/java/org/onap/aai/restclient/rest/RestClientBuilderTest.java24
4 files changed, 26 insertions, 16 deletions
diff --git a/src/main/java/org/onap/aai/restclient/client/RestClient.java b/src/main/java/org/onap/aai/restclient/client/RestClient.java
index 9639c9d..0bdb177 100644
--- a/src/main/java/org/onap/aai/restclient/client/RestClient.java
+++ b/src/main/java/org/onap/aai/restclient/client/RestClient.java
@@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentMap;
import java.util.stream.Collectors;
import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation.Builder;
import javax.ws.rs.client.WebTarget;
@@ -98,8 +99,8 @@ public class RestClient {
/**
* Creates a new instance of the {@link RestClient}.
*/
- public RestClient() {
- clientBuilder = new RestClientBuilder();
+ public RestClient(ClientBuilder builder) {
+ clientBuilder = new RestClientBuilder(builder);
}
/**
diff --git a/src/main/java/org/onap/aai/restclient/rest/RestClientBuilder.java b/src/main/java/org/onap/aai/restclient/rest/RestClientBuilder.java
index 38a8558..bfd44c6 100644
--- a/src/main/java/org/onap/aai/restclient/rest/RestClientBuilder.java
+++ b/src/main/java/org/onap/aai/restclient/rest/RestClientBuilder.java
@@ -56,6 +56,8 @@ public class RestClientBuilder {
private static final String KEYSTORE_TYPE = "PKCS12";
private static final String TRUST_STORE_PROPERTY = "javax.net.ssl.trustStore";
+ private final ClientBuilder builder;
+
private boolean validateServerHostname;
private boolean validateServerCertChain;
private String clientCertFileName;
@@ -71,7 +73,8 @@ public class RestClientBuilder {
/**
* Rest Client Builder.
*/
- public RestClientBuilder() {
+ public RestClientBuilder(ClientBuilder builder) {
+ this.builder = builder;
validateServerHostname = DEFAULT_VALIDATE_SERVER_HOST;
validateServerCertChain = DEFAULT_VALIDATE_CERT_CHAIN;
clientCertFileName = DEFAULT_CLIENT_CERT_FILENAME;
@@ -239,7 +242,7 @@ public class RestClientBuilder {
protected Client getClient(boolean useSsl) throws Exception {
// Finally, create and initialize our client...
- ClientBuilder builder = ClientBuilder.newBuilder();
+
if (useSsl) {
setupSecureSocketLayerClientConfig(builder);
}
diff --git a/src/test/java/org/onap/aai/restclient/client/RestfulClientTest.java b/src/test/java/org/onap/aai/restclient/client/RestfulClientTest.java
index 9fe09a1..30cee4e 100644
--- a/src/test/java/org/onap/aai/restclient/client/RestfulClientTest.java
+++ b/src/test/java/org/onap/aai/restclient/client/RestfulClientTest.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue;
import javax.ws.rs.ProcessingException;
import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Invocation.Builder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
@@ -45,6 +46,7 @@ public class RestfulClientTest {
private static final String TEST_URL = "http://localhost:9000/aai/v7";
private final MultivaluedMap<String, String> emptyMap = new MultivaluedHashMap<>();
+ private final ClientBuilder clientBuilder = ClientBuilder.newBuilder();
private RestClientBuilder mockClientBuilder;
private Client mockedClient;
@@ -84,7 +86,7 @@ public class RestfulClientTest {
@Test
public void validateConstructors() {
- RestClient restClient = new RestClient();
+ RestClient restClient = new RestClient(clientBuilder);
assertNotNull(restClient);
restClient = new RestClient(mockClientBuilder);
assertNotNull(restClient);
@@ -333,7 +335,7 @@ public class RestfulClientTest {
@Test
public void testGetClient() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.SSL_BASIC);
restClientBuilder.setTruststoreFilename("truststore");
assertTrue(restClientBuilder.getClient() instanceof Client);
diff --git a/src/test/java/org/onap/aai/restclient/rest/RestClientBuilderTest.java b/src/test/java/org/onap/aai/restclient/rest/RestClientBuilderTest.java
index 3878813..490e84a 100644
--- a/src/test/java/org/onap/aai/restclient/rest/RestClientBuilderTest.java
+++ b/src/test/java/org/onap/aai/restclient/rest/RestClientBuilderTest.java
@@ -28,6 +28,8 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+
import org.junit.Before;
import org.junit.Test;
import org.onap.aai.restclient.enums.RestAuthenticationMode;
@@ -37,6 +39,8 @@ import org.onap.aai.restclient.enums.RestAuthenticationMode;
*/
public class RestClientBuilderTest {
+ private final ClientBuilder clientBuilder = ClientBuilder.newBuilder();
+
/**
* Test case initialization
*
@@ -53,7 +57,7 @@ public class RestClientBuilderTest {
@Test
public void validateAccesors() {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
// test defaults
assertEquals(restClientBuilder.isValidateServerHostname(), RestClientBuilder.DEFAULT_VALIDATE_SERVER_HOST);
@@ -99,7 +103,7 @@ public class RestClientBuilderTest {
@Test
public void validateNoAuthClientCreation() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.HTTP_NOAUTH);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -113,7 +117,7 @@ public class RestClientBuilderTest {
@Test
public void validateUnknownModeCreateNoAuthClient() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.UNKNOWN_MODE);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -126,7 +130,7 @@ public class RestClientBuilderTest {
@Test
public void validateBasicAuthSslClient() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.SSL_BASIC);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -143,7 +147,7 @@ public class RestClientBuilderTest {
@Test(expected = IllegalArgumentException.class)
public void validateSslCertClient_noHostOrCertChainValidation() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.SSL_CERT);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -157,7 +161,7 @@ public class RestClientBuilderTest {
@Test(expected = IllegalArgumentException.class)
public void validateSslCertClient_hostOnlyValidation() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.SSL_CERT);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -172,7 +176,7 @@ public class RestClientBuilderTest {
@Test
public void validateSslCertClient_certChainOnlyValidation() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.SSL_CERT);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -191,7 +195,7 @@ public class RestClientBuilderTest {
@Test
public void validateSslCertClient_withHostAndCertChainValidation() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.SSL_CERT);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -210,7 +214,7 @@ public class RestClientBuilderTest {
@Test(expected = IllegalArgumentException.class)
public void validateSslCertClient_illegalArgumentExceptionWhenTruststoreIsNull() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
restClientBuilder.setAuthenticationMode(RestAuthenticationMode.SSL_CERT);
restClientBuilder.setConnectTimeoutInMs(12345);
@@ -230,7 +234,7 @@ public class RestClientBuilderTest {
@Test
public void validateSslProtocolConfiguration() throws Exception {
- RestClientBuilder restClientBuilder = new RestClientBuilder();
+ RestClientBuilder restClientBuilder = new RestClientBuilder(clientBuilder);
assertEquals(RestClientBuilder.DEFAULT_SSL_PROTOCOL, restClientBuilder.getSslProtocol());
restClientBuilder.setSslProtocol("TLSv1.2");