aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it')
-rw-r--r--dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/AAIClientFactoryIT.java81
-rw-r--r--dcae-analytics-aai/src/test/java/org/onap/dcae/apod/analytics/aai/it/BaseAnalyticsAAIIT.java76
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);
+ }
+ }
+
+
+}