diff options
Diffstat (limited to 'dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it')
2 files changed, 157 insertions, 0 deletions
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<String, String> 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<String, String> 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.<String, String>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<String, String> 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); + } + } + + +} |