diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java | 56 | ||||
-rw-r--r-- | src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/NdctxbConfiguration.java | 2 | ||||
-rw-r--r-- | src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java | 5 | ||||
-rw-r--r-- | src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java | 33 | ||||
-rw-r--r-- | src/test/resources/junit/SD_response.json (renamed from src/test/resources/SD_response.json) | 0 |
5 files changed, 66 insertions, 30 deletions
diff --git a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java index df7c8a8..2bec9ad 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java +++ b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java @@ -17,12 +17,25 @@ */ package org.onap.pomba.contextbuilder.networkdiscovery; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.cert.X509Certificate; import java.util.logging.Logger; - +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSession; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; import javax.ws.rs.ApplicationPath; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; - import org.glassfish.jersey.client.ClientConfig; import org.glassfish.jersey.logging.LoggingFeature; import org.glassfish.jersey.server.ResourceConfig; @@ -33,12 +46,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; - @Component @ApplicationPath("/") public class JerseyConfiguration extends ResourceConfig { @@ -66,4 +73,37 @@ public class JerseyConfiguration extends ResourceConfig { public Client jerseyClient() { return ClientBuilder.newClient(new ClientConfig()); } + + @Bean + public Client jerseySslClient() throws NoSuchAlgorithmException, KeyManagementException { + + ClientConfig clientConfig = new ClientConfig(); + TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { + public X509Certificate[] getAcceptedIssuers() { + return null; + } + + public void checkClientTrusted(X509Certificate[] certs, String authType) { + } + + public void checkServerTrusted(X509Certificate[] certs, String authType) { + } + } }; + + SSLContext sc = SSLContext.getInstance("TLS"); + sc.init(null, trustAllCerts, new SecureRandom()); + HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); + + ClientBuilder.newClient(clientConfig); + + return ClientBuilder.newBuilder() + .sslContext(sc) + .hostnameVerifier(new HostnameVerifier() { + public boolean verify(String s, SSLSession sslSession) { + return true; + } + }) + .withConfig(clientConfig).build(); + } + } diff --git a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/NdctxbConfiguration.java b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/NdctxbConfiguration.java index 7781d1a..a600db5 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/NdctxbConfiguration.java +++ b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/NdctxbConfiguration.java @@ -18,13 +18,11 @@ package org.onap.pomba.contextbuilder.networkdiscovery; -import java.net.InetAddress; import java.util.Arrays; import java.util.Base64; import java.util.HashMap; import java.util.Map; import java.util.stream.StreamSupport; - import org.eclipse.jetty.util.security.Password; import org.onap.pomba.contextbuilder.networkdiscovery.exception.DiscoveryException; import org.slf4j.Logger; diff --git a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java index d6010c4..58d13b7 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java +++ b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/service/SpringServiceImpl.java @@ -152,6 +152,9 @@ public class SpringServiceImpl implements SpringService { @Autowired private Client jerseyClient; + @Autowired + private Client jerseySslClient; + private static final ReentrantLock lock = new ReentrantLock(); @Override @@ -543,7 +546,7 @@ public class SpringServiceImpl implements SpringService { callbackUrlStr, partner_name); try { - Response response = jerseyClient.target(networkDiscoveryUrl) + Response response = jerseySslClient.target(networkDiscoveryUrl) .queryParam(NETWORK_DISCOVERY_FIND_RESOURCE_BY_TYPE_REST_REQUEST_ID, requestId) .queryParam(NETWORK_DISCOVERY_FIND_RESOURCE_BY_TYPE_REST_RESOURCE_TYPE, resourceType) .queryParam(NETWORK_DISCOVERY_FIND_RESOURCE_BY_TYPE_REST_RESOURCE_ID, resourceId) diff --git a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java b/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java index 1705bde..2c28ff3 100644 --- a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java +++ b/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java @@ -21,11 +21,9 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; -import com.github.jknack.handlebars.internal.Files; import com.github.tomakehurst.wiremock.client.WireMock; import com.github.tomakehurst.wiremock.junit.WireMockRule; import com.github.tomakehurst.wiremock.matching.UrlPattern; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -67,6 +65,7 @@ import org.springframework.test.context.web.WebAppConfiguration; @SpringBootTest @TestPropertySource(properties = {"serviceDecomposition.host=localhost", "serviceDecomposition.port=3333", "networkDiscoveryMicroService.host=localhost", "networkDiscoveryMicroService.port=9808", + "networkDiscoveryMicroService.httpProtocol=http", "networkDiscoveryMicroService.responseTimeOutInMilliseconds=1000"}) public class NetworkDiscoveryContextBuilderTest { @@ -137,12 +136,8 @@ public class NetworkDiscoveryContextBuilderTest { public void testVerifyServiceDecomposition() throws Exception { String urlStr = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId; - - File file = new File(ClassLoader.getSystemResource("SD_response.json").getFile()); - String sdResonse = Files.read(file); - - this.serviceDecompositionRule.stubFor(get(urlStr).willReturn(okJson(sdResonse))); - addResponse_any("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); + addResponse(urlStr, "junit/SD_response.json", serviceDecompositionRule); + addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId, null, null, serviceInstanceId, null, null); assertEquals(Status.OK.getStatusCode(), response.getStatus()); @@ -153,7 +148,7 @@ public class NetworkDiscoveryContextBuilderTest { String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId; addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule); - addResponse_any("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); + addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId, null, null, serviceInstanceId, null, null); @@ -191,7 +186,7 @@ public class NetworkDiscoveryContextBuilderTest { public void testVerifyNoPartnerNameWithFromAppId() throws Exception { String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId; addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule); - addResponse_any("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); + addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); Response response = this.restService.getContext(httpServletRequest, authorization, null, transactionId, partnerName, null, serviceInstanceId, null, null); @@ -202,7 +197,7 @@ public class NetworkDiscoveryContextBuilderTest { public void testVerifyNoRequestIdNoTransactionId() throws Exception { String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId; addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule); - addResponse_any("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); + addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, null, null, null, serviceInstanceId, null, null); @@ -213,7 +208,7 @@ public class NetworkDiscoveryContextBuilderTest { public void testVerifyNoPartnerNameNoFromAppId() throws Exception { String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId; addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule); - addResponse_any("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); + addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); Response response = this.restService.getContext(httpServletRequest, authorization, null, transactionId, null, null, serviceInstanceId, null, null); @@ -224,7 +219,7 @@ public class NetworkDiscoveryContextBuilderTest { public void testVerifyNoRequestIdWithTransactionId() throws Exception { String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId; addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule); - addResponse_any("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); + addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule); Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, null, null, transactionId, serviceInstanceId, null, null); @@ -236,7 +231,7 @@ public class NetworkDiscoveryContextBuilderTest { thisMock.stubFor(get(path).willReturn(okJson(payload))); } - private void addResponse_any(String classpathResource, WireMockRule thisMock) throws IOException { + private void addResponseAny(String classpathResource, WireMockRule thisMock) throws IOException { String payload = readFully(ClassLoader.getSystemResourceAsStream(classpathResource)); UrlPattern tPath = WireMock.anyUrl(); thisMock.stubFor(get(tPath).willReturn(okJson(payload))); @@ -327,15 +322,15 @@ public class NetworkDiscoveryContextBuilderTest { private void simulateNetworkDiscoveryInfoList() { String requestId2 = "2131__2"; - List<String> related_request_list = new ArrayList<>(); - related_request_list.add(requestId); - related_request_list.add(requestId2); + List<String> relatedRequestList = new ArrayList<>(); + relatedRequestList.add(requestId); + relatedRequestList.add(requestId2); NetworkDiscoveryRspInfo notif1 = new NetworkDiscoveryRspInfo(); notif1.setRequestId(requestId); notif1.setResourceType(resourceType); notif1.setResourceId(resourceId); - notif1.setRelatedRequestIdList(related_request_list); + notif1.setRelatedRequestIdList(relatedRequestList); NetworkDiscoveryInfoAccess networkDiscoveryInfoAccess = new NetworkDiscoveryInfoAccess(); networkDiscoveryInfoAccess.updateList(requestId, notif1); @@ -344,7 +339,7 @@ public class NetworkDiscoveryContextBuilderTest { notif2.setRequestId(requestId2); notif2.setResourceType(resourceType); notif2.setResourceId(resourceId); - notif2.setRelatedRequestIdList(related_request_list); + notif2.setRelatedRequestIdList(relatedRequestList); networkDiscoveryInfoAccess.updateList(requestId2, notif2); } diff --git a/src/test/resources/SD_response.json b/src/test/resources/junit/SD_response.json index d4db960..d4db960 100644 --- a/src/test/resources/SD_response.json +++ b/src/test/resources/junit/SD_response.json |