From c489a2eb22484e798c39a978bc8b61821b92322f Mon Sep 17 00:00:00 2001 From: an4828 Date: Mon, 22 Jan 2018 17:17:34 -0500 Subject: TCA: Replace any openecomp reference by onap Change-Id: I7c6d812ab5c1d7b30c63653d1974b0b1abc099be Signed-off-by: an4828 Issue-ID: DCAEGEN2-224 Signed-off-by: an4828 --- .../aai/BaseAnalyticsAAIGuiceUnitTest.java | 31 ++++++ .../analytics/aai/BaseAnalyticsAAIUnitTest.java | 83 ++++++++++++++++ .../apod/analytics/aai/it/AAIClientFactoryIT.java | 81 +++++++++++++++ .../apod/analytics/aai/it/BaseAnalyticsAAIIT.java | 76 ++++++++++++++ .../aai/service/AAIEnrichmentClientImplTest.java | 96 ++++++++++++++++++ .../aai/service/AAIHttpClientImplTest.java | 109 +++++++++++++++++++++ .../aai/BaseAnalyticsAAIGuiceUnitTest.java | 31 ------ .../analytics/aai/BaseAnalyticsAAIUnitTest.java | 83 ---------------- .../apod/analytics/aai/it/AAIClientFactoryIT.java | 81 --------------- .../apod/analytics/aai/it/BaseAnalyticsAAIIT.java | 76 -------------- .../aai/service/AAIEnrichmentClientImplTest.java | 96 ------------------ .../aai/service/AAIHttpClientImplTest.java | 109 --------------------- 12 files changed, 476 insertions(+), 476 deletions(-) create mode 100644 dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java create mode 100644 dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java create mode 100644 dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java create mode 100644 dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java create mode 100644 dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java create mode 100644 dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java delete mode 100644 dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java delete mode 100644 dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java delete mode 100644 dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java delete mode 100644 dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java delete mode 100644 dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java delete mode 100644 dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java (limited to 'dcae-analytics-aai/src/test/java/org') diff --git a/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java new file mode 100644 index 0000000..bf48fed --- /dev/null +++ b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java @@ -0,0 +1,31 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================LICENSE_END=========================================== + */ + +package org.onap.dcae.apod.analytics.aai; + +import org.junit.runner.RunWith; +import org.onap.dcae.apod.analytics.test.runner.GuiceJUnitRunner; + +/** + * @author Rajiv Singla . Creation Date: 10/20/2016. + */ +@RunWith(GuiceJUnitRunner.class) +public abstract class BaseAnalyticsAAIGuiceUnitTest extends BaseAnalyticsAAIUnitTest { +} diff --git a/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java new file mode 100644 index 0000000..61fe227 --- /dev/null +++ b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java @@ -0,0 +1,83 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================LICENSE_END=========================================== + */ + +package org.onap.dcae.apod.analytics.aai; + +import org.onap.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; +import org.onap.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfigBuilder; +import org.onap.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author Rajiv Singla . Creation Date: 9/18/2017. + */ +public class BaseAnalyticsAAIUnitTest extends BaseDCAEAnalyticsUnitTest { + + protected static final String AAI_HOST_NAME = "1.2.3.4"; + protected static final Integer AAI_HOST_PORT_NUMBER = 1234; + protected static final String AAI_HOST_PROTOCOL = "https"; + protected static final String AAI_VNF_ENRICHMENT_PATH = "/aai/v11/network/generic-vnfs/generic-vnf"; + protected static final String AAI_VSERVER_NODE_QUERY_PATH = "/aai/v11/search/nodes-query"; + protected static final String AAI_VSERVER_QUERY_RESPONSE_LOCATION = "data/json/aai/aai_vserver_resource_data.json"; + + protected static final Map AAI_HEADERS = new LinkedHashMap<>(); + + static { + AAI_HEADERS.put("X-FromAppId", "vv-temp"); + AAI_HEADERS.put("X-TransactionId", "vv-temp"); + AAI_HEADERS.put("Accept", "application/json"); + AAI_HEADERS.put("Real-Time", "true"); + AAI_HEADERS.put("Content-Type", "application/json"); + } + + protected static final String PROXY_HOST = "proxy.att.com"; + protected static final Integer PROXY_PORT = 80; + protected static final String PROXY_URL = String.format("http://username:password@%s:%s", PROXY_HOST, PROXY_PORT); + + protected static final String AAI_USER_NAME = "DCAE"; + protected static final String AAI_USER_PASSWORD = "DCAE"; + protected static final boolean IGNORE_SSL_CERTIFICATE_ERRORS = true; + + protected AAIHttpClientConfig getAAIHttpClientTestConfig(final boolean ignoreSSLCertificateErrors, + final String proxyURLString) { + URL proxyURL; + if (proxyURLString != null) { + try { + proxyURL = new URL(proxyURLString); + } catch (MalformedURLException e) { + throw new IllegalArgumentException("Proxy URL format is Invalid", e); + } + } else { + proxyURL = null; + } + return new AAIHttpClientConfigBuilder(AAI_HOST_NAME) + .setAaiProtocol(AAI_HOST_PROTOCOL) + .setAaiHostPortNumber(AAI_HOST_PORT_NUMBER) + .setAaiUserName(AAI_USER_NAME) + .setAaiUserPassword(AAI_USER_PASSWORD) + .setAaiProxyURL(proxyURL) + .setAaiIgnoreSSLCertificateErrors(ignoreSSLCertificateErrors).build(); + } + +} diff --git a/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java new file mode 100644 index 0000000..3ec7d14 --- /dev/null +++ b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java @@ -0,0 +1,81 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================LICENSE_END=========================================== + */ + +package org.onap.dcae.apod.analytics.aai.it; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.collect.ImmutableMap; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.onap.dcae.apod.analytics.aai.AAIClientFactory; +import org.onap.dcae.apod.analytics.aai.service.AAIEnrichmentClient; + +import java.util.Collections; +import java.util.Map; + +/** + * @author Rajiv Singla . Creation Date: 9/19/2017. + */ +@Ignore +public class AAIClientFactoryIT extends BaseAnalyticsAAIIT { + + private AAIEnrichmentClient enrichmentClient; + + @Before + public void before() { + enrichmentClient = AAIClientFactory.create().getEnrichmentClient(getAAIHttpClientConfig()); + } + + @Test + public void testGetEnrichmentClientForVNF() throws Exception { + final String vnfName = "vCPEInfraVNF13"; + Map queryParams = ImmutableMap.of("vnf-name", vnfName); + final String vCPEInfraVNF13 = + enrichmentClient.getEnrichmentDetails(AAI_VNF_ENRICHMENT_PATH, queryParams, AAI_HEADERS); + LOG.info("Fetched VNF A&AI Enrichment Response: \n{}", vCPEInfraVNF13); + + } + + @Test + public void testGetVServerObjectResourceLink() throws Exception { + final String vServerName = "example-vserver-name-val-2"; + Map queryParams = ImmutableMap.of("search-node-type", "vserver", "filter", + "vserver-name:EQUALS:" + vServerName); + final String serverResourceLink = + enrichmentClient.getEnrichmentDetails(AAI_VSERVER_NODE_QUERY_PATH, queryParams, AAI_HEADERS); + + LOG.info("Fetched Vserver Object Resource Link A&AI Enrichment Response: \n{}", serverResourceLink); + + } + + @Test + public void testGetVServerEnrichmentDetails() throws Exception { + final String serverResourceLink = fromStream(AAI_VSERVER_QUERY_RESPONSE_LOCATION); + final ObjectMapper objectMapper = new ObjectMapper(); + final JsonNode jsonNode = objectMapper.readTree(serverResourceLink); + final String resourceLink = jsonNode.findPath("resource-link").asText(); + final String vServerEnrichmentDetails = + enrichmentClient.getEnrichmentDetails(resourceLink, Collections.emptyMap(), + AAI_HEADERS); + LOG.info("Fetched Vserver enrichment details: \n{}", vServerEnrichmentDetails); + } +} diff --git a/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java new file mode 100644 index 0000000..fbc6cd4 --- /dev/null +++ b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java @@ -0,0 +1,76 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================LICENSE_END=========================================== + */ + +package org.onap.dcae.apod.analytics.aai.it; + +import org.onap.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; +import org.onap.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfigBuilder; +import org.onap.dcae.apod.analytics.test.BaseDCAEAnalyticsIT; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author Rajiv Singla . Creation Date: 9/18/2017. + */ +public abstract class BaseAnalyticsAAIIT extends BaseDCAEAnalyticsIT { + + protected static final String AAI_HOST_NAME = "1.2.3.4"; + protected static final Integer AAI_HOST_PORT_NUMBER = 1234; + protected static final String AAI_HOST_PROTOCOL = "https"; + protected static final String AAI_VNF_ENRICHMENT_PATH = "/aai/v11/network/generic-vnfs/generic-vnf"; + protected static final String AAI_VSERVER_NODE_QUERY_PATH = "/aai/v11/search/nodes-query"; + protected static final Map AAI_HEADERS = new LinkedHashMap<>(); + + + protected static final String AAI_VSERVER_QUERY_RESPONSE_LOCATION = "data/json/aai/aai_vserver_resource_data.json"; + + static { + AAI_HEADERS.put("X-FromAppId", "vv-temp"); + AAI_HEADERS.put("X-TransactionId", "vv-temp"); + AAI_HEADERS.put("Accept", "application/json"); + AAI_HEADERS.put("Real-Time", "true"); + AAI_HEADERS.put("Content-Type", "application/json"); + } + + protected static final String AAI_USER_NAME = "DCAE"; + protected static final String AAI_USER_PASSWORD = "DCAE"; + protected static final boolean IGNORE_SSL_CERTIFICATE_ERRORS = true; + + + protected AAIHttpClientConfig getAAIHttpClientConfig() { + try { + URL proxyURL = new URL("http://username:password@proxy.att.com:80"); + return new AAIHttpClientConfigBuilder(AAI_HOST_NAME) + .setAaiProtocol(AAI_HOST_PROTOCOL) + .setAaiHostPortNumber(AAI_HOST_PORT_NUMBER) + .setAaiUserName(AAI_USER_NAME) + .setAaiUserPassword(AAI_USER_PASSWORD) + .setAaiProxyURL(proxyURL) + .setAaiIgnoreSSLCertificateErrors(IGNORE_SSL_CERTIFICATE_ERRORS).build(); + } catch (MalformedURLException e) { + throw new IllegalArgumentException(e); + } + } + + +} diff --git a/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java new file mode 100644 index 0000000..6278af6 --- /dev/null +++ b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java @@ -0,0 +1,96 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================LICENSE_END=========================================== + */ + +package org.onap.dcae.apod.analytics.aai.service; + +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.StatusLine; +import org.apache.http.client.ResponseHandler; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.junit.Assert; +import org.junit.Test; +import org.onap.dcae.apod.analytics.aai.BaseAnalyticsAAIUnitTest; +import org.onap.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; + +import java.io.BufferedInputStream; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.util.Map; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 9/25/2017. + */ +public class AAIEnrichmentClientImplTest extends BaseAnalyticsAAIUnitTest { + + + @Test + public void testGetEnrichmentDetails() throws Exception { + + final String enrichmentResponseJson = "{}"; + + final String vnfName = "vCPEInfraVNF13"; + final AAIHttpClientConfig aaiHttpClientTestConfig = getAAIHttpClientTestConfig(true, PROXY_URL); + Map queryParams = ImmutableMap.of("vnf-name", vnfName); + final AAIHttpClientFactory aaiHttpClientFactory = mock(AAIHttpClientFactory.class); + final CloseableHttpClient closeableHttpClient = mock(CloseableHttpClient.class); + final AAIHttpClient aaiHttpClient = mock(AAIHttpClient.class); + when(aaiHttpClientFactory.create(any(AAIHttpClientConfig.class))).thenReturn(aaiHttpClient); + when(aaiHttpClient.getAAIHttpClient()).thenReturn(closeableHttpClient); + when(closeableHttpClient.execute(any(HttpGet.class), any(ResponseHandler.class))) + .thenReturn(Optional.of(enrichmentResponseJson)); + final AAIEnrichmentClientImpl aaiEnrichmentClient = new AAIEnrichmentClientImpl( + aaiHttpClientTestConfig, aaiHttpClientFactory); + + final String enrichmentDetails = aaiEnrichmentClient.getEnrichmentDetails(AAI_VNF_ENRICHMENT_PATH, + queryParams, AAI_HEADERS); + assertThat("Enrichment response is same", enrichmentDetails, is(enrichmentResponseJson)); + + } + + @Test + public void testAAiResponseHandler() throws Exception { + final ResponseHandler> aaiResponseHandler = + AAIEnrichmentClientImpl.aaiResponseHandler(); + final HttpResponse httpResponse = mock(HttpResponse.class); + final HttpEntity httpEntity = mock(HttpEntity.class); + final String response = "{}"; + InputStream inputStream = new ByteArrayInputStream(response.getBytes()); + when(httpEntity.getContent()).thenReturn(inputStream); + when(httpResponse.getEntity()).thenReturn(httpEntity); + final StatusLine statusLine = mock(StatusLine.class); + when(httpResponse.getStatusLine()).thenReturn(statusLine); + when(statusLine.getStatusCode()).thenReturn(200); + final Optional result = aaiResponseHandler.handleResponse(httpResponse); + assertThat("Response must match", result.get(), is(response)); + } + +} diff --git a/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java new file mode 100644 index 0000000..c073a6c --- /dev/null +++ b/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java @@ -0,0 +1,109 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================LICENSE_END=========================================== + */ + +package org.onap.dcae.apod.analytics.aai.service; + +import org.apache.http.HttpHost; +import org.apache.http.config.ConnectionConfig; +import org.apache.http.config.Registry; +import org.apache.http.conn.ssl.DefaultHostnameVerifier; +import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.conn.DefaultHttpClientConnectionOperator; +import org.apache.http.impl.conn.DefaultProxyRoutePlanner; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.impl.conn.SystemDefaultRoutePlanner; +import org.junit.Assert; +import org.junit.Test; +import org.onap.dcae.apod.analytics.aai.BaseAnalyticsAAIUnitTest; +import org.onap.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; +import sun.security.ssl.SSLContextImpl; +import sun.security.ssl.SSLSocketFactoryImpl; + +import javax.net.ssl.HostnameVerifier; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; + +/** + * @author Rajiv Singla . Creation Date: 9/25/2017. + */ +public class AAIHttpClientImplTest extends BaseAnalyticsAAIUnitTest { + + @Test + public void getAAIHttpClientWithIgnoredSSLErrorsAndProxySettings() throws Exception { + + final AAIHttpClientConfig aaiHttpClientTestConfig = + getAAIHttpClientTestConfig(true, PROXY_URL); + final AAIHttpClientImpl aaiHttpClient = new AAIHttpClientImpl(aaiHttpClientTestConfig); + final CloseableHttpClient closeableHttpClient = aaiHttpClient.getAAIHttpClient(); + + final HostnameVerifier hostnameVerifier = getHostNameVerifier(closeableHttpClient); + + assertTrue("HostName Verifier must be NoOpHostnameVerifier", + NoopHostnameVerifier.INSTANCE.getClass().equals(hostnameVerifier.getClass())); + + final DefaultProxyRoutePlanner routePlanner = getPrivateFiledValue(closeableHttpClient, "routePlanner", + DefaultProxyRoutePlanner.class); + + final HttpHost proxyHost = getPrivateFiledValue(routePlanner, "proxy", HttpHost.class); + + final String hostName = proxyHost.getHostName(); + final int port = proxyHost.getPort(); + + assertThat("Proxy Host name must match", hostName, is(PROXY_HOST)); + assertThat("Proxy Port number must match", port, is(PROXY_PORT)); + + } + + @Test + public void getAAIHttpClientWithNoIgnoredSSLErrorsAndProxySettings() throws Exception { + + final AAIHttpClientConfig aaiHttpClientTestConfig = + getAAIHttpClientTestConfig(false, null); + final AAIHttpClientImpl aaiHttpClient = new AAIHttpClientImpl(aaiHttpClientTestConfig); + final CloseableHttpClient closeableHttpClient = aaiHttpClient.getAAIHttpClient(); + final HostnameVerifier hostnameVerifier = getHostNameVerifier(closeableHttpClient); + + assertTrue("HostName Verifier must be DefaultHostNameVerifier", + hostnameVerifier instanceof DefaultHostnameVerifier); + + getPrivateFiledValue(closeableHttpClient, "routePlanner", + SystemDefaultRoutePlanner.class); + } + + + private HostnameVerifier getHostNameVerifier(final CloseableHttpClient closeableHttpClient) { + final PoolingHttpClientConnectionManager connManager = + getPrivateFiledValue(closeableHttpClient, "connManager", + PoolingHttpClientConnectionManager.class); + final DefaultHttpClientConnectionOperator connectionOperator = getPrivateFiledValue(connManager, + "connectionOperator", DefaultHttpClientConnectionOperator.class); + final Registry socketFactoryRegistry = getPrivateFiledValue(connectionOperator, "socketFactoryRegistry", + Registry.class); + final SSLConnectionSocketFactory sslConnectionSocketFactory = (SSLConnectionSocketFactory) + socketFactoryRegistry.lookup("https"); + final HostnameVerifier hostnameVerifier = getPrivateFiledValue(sslConnectionSocketFactory, + "hostnameVerifier", HostnameVerifier.class); + return hostnameVerifier; + } +} diff --git a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java b/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java deleted file mode 100644 index 8c18a74..0000000 --- a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIGuiceUnitTest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * ===============================LICENSE_START====================================== - * dcae-analytics - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================LICENSE_END=========================================== - */ - -package org.openecomp.dcae.apod.analytics.aai; - -import org.junit.runner.RunWith; -import org.openecomp.dcae.apod.analytics.test.runner.GuiceJUnitRunner; - -/** - * @author Rajiv Singla . Creation Date: 10/20/2016. - */ -@RunWith(GuiceJUnitRunner.class) -public abstract class BaseAnalyticsAAIGuiceUnitTest extends BaseAnalyticsAAIUnitTest { -} diff --git a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java b/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java deleted file mode 100644 index 955b5b1..0000000 --- a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/BaseAnalyticsAAIUnitTest.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * ===============================LICENSE_START====================================== - * dcae-analytics - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================LICENSE_END=========================================== - */ - -package org.openecomp.dcae.apod.analytics.aai; - -import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; -import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfigBuilder; -import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * @author Rajiv Singla . Creation Date: 9/18/2017. - */ -public class BaseAnalyticsAAIUnitTest extends BaseDCAEAnalyticsUnitTest { - - protected static final String AAI_HOST_NAME = "1.2.3.4"; - protected static final Integer AAI_HOST_PORT_NUMBER = 1234; - protected static final String AAI_HOST_PROTOCOL = "https"; - protected static final String AAI_VNF_ENRICHMENT_PATH = "/aai/v11/network/generic-vnfs/generic-vnf"; - protected static final String AAI_VSERVER_NODE_QUERY_PATH = "/aai/v11/search/nodes-query"; - protected static final String AAI_VSERVER_QUERY_RESPONSE_LOCATION = "data/json/aai/aai_vserver_resource_data.json"; - - protected static final Map AAI_HEADERS = new LinkedHashMap<>(); - - static { - AAI_HEADERS.put("X-FromAppId", "vv-temp"); - AAI_HEADERS.put("X-TransactionId", "vv-temp"); - AAI_HEADERS.put("Accept", "application/json"); - AAI_HEADERS.put("Real-Time", "true"); - AAI_HEADERS.put("Content-Type", "application/json"); - } - - protected static final String PROXY_HOST = "proxy.att.com"; - protected static final Integer PROXY_PORT = 80; - protected static final String PROXY_URL = String.format("http://username:password@%s:%s", PROXY_HOST, PROXY_PORT); - - protected static final String AAI_USER_NAME = "DCAE"; - protected static final String AAI_USER_PASSWORD = "DCAE"; - protected static final boolean IGNORE_SSL_CERTIFICATE_ERRORS = true; - - protected AAIHttpClientConfig getAAIHttpClientTestConfig(final boolean ignoreSSLCertificateErrors, - final String proxyURLString) { - URL proxyURL; - if (proxyURLString != null) { - try { - proxyURL = new URL(proxyURLString); - } catch (MalformedURLException e) { - throw new IllegalArgumentException("Proxy URL format is Invalid", e); - } - } else { - proxyURL = null; - } - return new AAIHttpClientConfigBuilder(AAI_HOST_NAME) - .setAaiProtocol(AAI_HOST_PROTOCOL) - .setAaiHostPortNumber(AAI_HOST_PORT_NUMBER) - .setAaiUserName(AAI_USER_NAME) - .setAaiUserPassword(AAI_USER_PASSWORD) - .setAaiProxyURL(proxyURL) - .setAaiIgnoreSSLCertificateErrors(ignoreSSLCertificateErrors).build(); - } - -} diff --git a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java b/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java deleted file mode 100644 index 5ebca27..0000000 --- a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * ===============================LICENSE_START====================================== - * dcae-analytics - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================LICENSE_END=========================================== - */ - -package org.openecomp.dcae.apod.analytics.aai.it; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.ImmutableMap; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.openecomp.dcae.apod.analytics.aai.AAIClientFactory; -import org.openecomp.dcae.apod.analytics.aai.service.AAIEnrichmentClient; - -import java.util.Collections; -import java.util.Map; - -/** - * @author Rajiv Singla . Creation Date: 9/19/2017. - */ -@Ignore -public class AAIClientFactoryIT extends BaseAnalyticsAAIIT { - - private AAIEnrichmentClient enrichmentClient; - - @Before - public void before() { - enrichmentClient = AAIClientFactory.create().getEnrichmentClient(getAAIHttpClientConfig()); - } - - @Test - public void testGetEnrichmentClientForVNF() throws Exception { - final String vnfName = "vCPEInfraVNF13"; - Map queryParams = ImmutableMap.of("vnf-name", vnfName); - final String vCPEInfraVNF13 = - enrichmentClient.getEnrichmentDetails(AAI_VNF_ENRICHMENT_PATH, queryParams, AAI_HEADERS); - LOG.info("Fetched VNF A&AI Enrichment Response: \n{}", vCPEInfraVNF13); - - } - - @Test - public void testGetVServerObjectResourceLink() throws Exception { - final String vServerName = "example-vserver-name-val-2"; - Map queryParams = ImmutableMap.of("search-node-type", "vserver", "filter", - "vserver-name:EQUALS:" + vServerName); - final String serverResourceLink = - enrichmentClient.getEnrichmentDetails(AAI_VSERVER_NODE_QUERY_PATH, queryParams, AAI_HEADERS); - - LOG.info("Fetched Vserver Object Resource Link A&AI Enrichment Response: \n{}", serverResourceLink); - - } - - @Test - public void testGetVServerEnrichmentDetails() throws Exception { - final String serverResourceLink = fromStream(AAI_VSERVER_QUERY_RESPONSE_LOCATION); - final ObjectMapper objectMapper = new ObjectMapper(); - final JsonNode jsonNode = objectMapper.readTree(serverResourceLink); - final String resourceLink = jsonNode.findPath("resource-link").asText(); - final String vServerEnrichmentDetails = - enrichmentClient.getEnrichmentDetails(resourceLink, Collections.emptyMap(), - AAI_HEADERS); - LOG.info("Fetched Vserver enrichment details: \n{}", vServerEnrichmentDetails); - } -} diff --git a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java b/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java deleted file mode 100644 index 8f54f77..0000000 --- a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * ===============================LICENSE_START====================================== - * dcae-analytics - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================LICENSE_END=========================================== - */ - -package org.openecomp.dcae.apod.analytics.aai.it; - -import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; -import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfigBuilder; -import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsIT; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * @author Rajiv Singla . Creation Date: 9/18/2017. - */ -public abstract class BaseAnalyticsAAIIT extends BaseDCAEAnalyticsIT { - - protected static final String AAI_HOST_NAME = "1.2.3.4"; - protected static final Integer AAI_HOST_PORT_NUMBER = 1234; - protected static final String AAI_HOST_PROTOCOL = "https"; - protected static final String AAI_VNF_ENRICHMENT_PATH = "/aai/v11/network/generic-vnfs/generic-vnf"; - protected static final String AAI_VSERVER_NODE_QUERY_PATH = "/aai/v11/search/nodes-query"; - protected static final Map AAI_HEADERS = new LinkedHashMap<>(); - - - protected static final String AAI_VSERVER_QUERY_RESPONSE_LOCATION = "data/json/aai/aai_vserver_resource_data.json"; - - static { - AAI_HEADERS.put("X-FromAppId", "vv-temp"); - AAI_HEADERS.put("X-TransactionId", "vv-temp"); - AAI_HEADERS.put("Accept", "application/json"); - AAI_HEADERS.put("Real-Time", "true"); - AAI_HEADERS.put("Content-Type", "application/json"); - } - - protected static final String AAI_USER_NAME = "DCAE"; - protected static final String AAI_USER_PASSWORD = "DCAE"; - protected static final boolean IGNORE_SSL_CERTIFICATE_ERRORS = true; - - - protected AAIHttpClientConfig getAAIHttpClientConfig() { - try { - URL proxyURL = new URL("http://username:password@proxy.att.com:80"); - return new AAIHttpClientConfigBuilder(AAI_HOST_NAME) - .setAaiProtocol(AAI_HOST_PROTOCOL) - .setAaiHostPortNumber(AAI_HOST_PORT_NUMBER) - .setAaiUserName(AAI_USER_NAME) - .setAaiUserPassword(AAI_USER_PASSWORD) - .setAaiProxyURL(proxyURL) - .setAaiIgnoreSSLCertificateErrors(IGNORE_SSL_CERTIFICATE_ERRORS).build(); - } catch (MalformedURLException e) { - throw new IllegalArgumentException(e); - } - } - - -} diff --git a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java b/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java deleted file mode 100644 index 0fbd0e7..0000000 --- a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImplTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * ===============================LICENSE_START====================================== - * dcae-analytics - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================LICENSE_END=========================================== - */ - -package org.openecomp.dcae.apod.analytics.aai.service; - -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableMap; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.StatusLine; -import org.apache.http.client.ResponseHandler; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.CloseableHttpClient; -import org.junit.Assert; -import org.junit.Test; -import org.openecomp.dcae.apod.analytics.aai.BaseAnalyticsAAIUnitTest; -import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; - -import java.io.BufferedInputStream; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.Map; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -/** - * @author Rajiv Singla . Creation Date: 9/25/2017. - */ -public class AAIEnrichmentClientImplTest extends BaseAnalyticsAAIUnitTest { - - - @Test - public void testGetEnrichmentDetails() throws Exception { - - final String enrichmentResponseJson = "{}"; - - final String vnfName = "vCPEInfraVNF13"; - final AAIHttpClientConfig aaiHttpClientTestConfig = getAAIHttpClientTestConfig(true, PROXY_URL); - Map queryParams = ImmutableMap.of("vnf-name", vnfName); - final AAIHttpClientFactory aaiHttpClientFactory = mock(AAIHttpClientFactory.class); - final CloseableHttpClient closeableHttpClient = mock(CloseableHttpClient.class); - final AAIHttpClient aaiHttpClient = mock(AAIHttpClient.class); - when(aaiHttpClientFactory.create(any(AAIHttpClientConfig.class))).thenReturn(aaiHttpClient); - when(aaiHttpClient.getAAIHttpClient()).thenReturn(closeableHttpClient); - when(closeableHttpClient.execute(any(HttpGet.class), any(ResponseHandler.class))) - .thenReturn(Optional.of(enrichmentResponseJson)); - final AAIEnrichmentClientImpl aaiEnrichmentClient = new AAIEnrichmentClientImpl( - aaiHttpClientTestConfig, aaiHttpClientFactory); - - final String enrichmentDetails = aaiEnrichmentClient.getEnrichmentDetails(AAI_VNF_ENRICHMENT_PATH, - queryParams, AAI_HEADERS); - assertThat("Enrichment response is same", enrichmentDetails, is(enrichmentResponseJson)); - - } - - @Test - public void testAAiResponseHandler() throws Exception { - final ResponseHandler> aaiResponseHandler = - AAIEnrichmentClientImpl.aaiResponseHandler(); - final HttpResponse httpResponse = mock(HttpResponse.class); - final HttpEntity httpEntity = mock(HttpEntity.class); - final String response = "{}"; - InputStream inputStream = new ByteArrayInputStream(response.getBytes()); - when(httpEntity.getContent()).thenReturn(inputStream); - when(httpResponse.getEntity()).thenReturn(httpEntity); - final StatusLine statusLine = mock(StatusLine.class); - when(httpResponse.getStatusLine()).thenReturn(statusLine); - when(statusLine.getStatusCode()).thenReturn(200); - final Optional result = aaiResponseHandler.handleResponse(httpResponse); - assertThat("Response must match", result.get(), is(response)); - } - -} diff --git a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java b/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java deleted file mode 100644 index 0bb7307..0000000 --- a/dcae-analytics-aai/src/test/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImplTest.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * ===============================LICENSE_START====================================== - * dcae-analytics - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================LICENSE_END=========================================== - */ - -package org.openecomp.dcae.apod.analytics.aai.service; - -import org.apache.http.HttpHost; -import org.apache.http.config.ConnectionConfig; -import org.apache.http.config.Registry; -import org.apache.http.conn.ssl.DefaultHostnameVerifier; -import org.apache.http.conn.ssl.NoopHostnameVerifier; -import org.apache.http.conn.ssl.SSLConnectionSocketFactory; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.conn.DefaultHttpClientConnectionOperator; -import org.apache.http.impl.conn.DefaultProxyRoutePlanner; -import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; -import org.apache.http.impl.conn.SystemDefaultRoutePlanner; -import org.junit.Assert; -import org.junit.Test; -import org.openecomp.dcae.apod.analytics.aai.BaseAnalyticsAAIUnitTest; -import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig; -import sun.security.ssl.SSLContextImpl; -import sun.security.ssl.SSLSocketFactoryImpl; - -import javax.net.ssl.HostnameVerifier; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - -/** - * @author Rajiv Singla . Creation Date: 9/25/2017. - */ -public class AAIHttpClientImplTest extends BaseAnalyticsAAIUnitTest { - - @Test - public void getAAIHttpClientWithIgnoredSSLErrorsAndProxySettings() throws Exception { - - final AAIHttpClientConfig aaiHttpClientTestConfig = - getAAIHttpClientTestConfig(true, PROXY_URL); - final AAIHttpClientImpl aaiHttpClient = new AAIHttpClientImpl(aaiHttpClientTestConfig); - final CloseableHttpClient closeableHttpClient = aaiHttpClient.getAAIHttpClient(); - - final HostnameVerifier hostnameVerifier = getHostNameVerifier(closeableHttpClient); - - assertTrue("HostName Verifier must be NoOpHostnameVerifier", - NoopHostnameVerifier.INSTANCE.getClass().equals(hostnameVerifier.getClass())); - - final DefaultProxyRoutePlanner routePlanner = getPrivateFiledValue(closeableHttpClient, "routePlanner", - DefaultProxyRoutePlanner.class); - - final HttpHost proxyHost = getPrivateFiledValue(routePlanner, "proxy", HttpHost.class); - - final String hostName = proxyHost.getHostName(); - final int port = proxyHost.getPort(); - - assertThat("Proxy Host name must match", hostName, is(PROXY_HOST)); - assertThat("Proxy Port number must match", port, is(PROXY_PORT)); - - } - - @Test - public void getAAIHttpClientWithNoIgnoredSSLErrorsAndProxySettings() throws Exception { - - final AAIHttpClientConfig aaiHttpClientTestConfig = - getAAIHttpClientTestConfig(false, null); - final AAIHttpClientImpl aaiHttpClient = new AAIHttpClientImpl(aaiHttpClientTestConfig); - final CloseableHttpClient closeableHttpClient = aaiHttpClient.getAAIHttpClient(); - final HostnameVerifier hostnameVerifier = getHostNameVerifier(closeableHttpClient); - - assertTrue("HostName Verifier must be DefaultHostNameVerifier", - hostnameVerifier instanceof DefaultHostnameVerifier); - - getPrivateFiledValue(closeableHttpClient, "routePlanner", - SystemDefaultRoutePlanner.class); - } - - - private HostnameVerifier getHostNameVerifier(final CloseableHttpClient closeableHttpClient) { - final PoolingHttpClientConnectionManager connManager = - getPrivateFiledValue(closeableHttpClient, "connManager", - PoolingHttpClientConnectionManager.class); - final DefaultHttpClientConnectionOperator connectionOperator = getPrivateFiledValue(connManager, - "connectionOperator", DefaultHttpClientConnectionOperator.class); - final Registry socketFactoryRegistry = getPrivateFiledValue(connectionOperator, "socketFactoryRegistry", - Registry.class); - final SSLConnectionSocketFactory sslConnectionSocketFactory = (SSLConnectionSocketFactory) - socketFactoryRegistry.lookup("https"); - final HostnameVerifier hostnameVerifier = getPrivateFiledValue(sslConnectionSocketFactory, - "hostnameVerifier", HostnameVerifier.class); - return hostnameVerifier; - } -} -- cgit 1.2.3-korg