aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java
diff options
context:
space:
mode:
authorNorm Traxler <normant@amdocs.com>2019-01-21 21:03:59 +0000
committerNorm Traxler <normant@amdocs.com>2019-01-22 14:23:19 +0000
commit5c07f0088fd71e30bfd8dc92b870f604b4297420 (patch)
tree8f4fca51f25c591888b6dad00c6b94ee0db6a1ce /src/test/java
parentcdad28821c2ac6834e284aae72f10ad2d0529147 (diff)
NetworkDiscCtxBuilder error handling
Issue-ID: LOG-938 Change-Id: I20e8592efe5f1ca8960f228041303c8d25628018 Signed-off-by: Norm Traxler <normant@amdocs.com>
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/NetworkDiscoveryRspInfoTest.java104
-rw-r--r--src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/jolt/TransformationTest.java48
-rw-r--r--src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/unittest/service/NetworkDiscoveryContextBuilderTest.java163
3 files changed, 110 insertions, 205 deletions
diff --git a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/NetworkDiscoveryRspInfoTest.java b/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/NetworkDiscoveryRspInfoTest.java
deleted file mode 100644
index af2ba01..0000000
--- a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/NetworkDiscoveryRspInfoTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2018 Amdocs
- * ============================================================================
- * 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.pomba.contextbuilder.networkdiscovery.test;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.onap.pomba.contextbuilder.networkdiscovery.model.NetworkDiscoveryRspInfo;
-import org.onap.sdnc.apps.pomba.networkdiscovery.datamodel.NetworkDiscoveryNotification;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
-@WebAppConfiguration
-@SpringBootTest
-@TestPropertySource(properties = { "enricher.url=http://localhost:9505", "serviceDecomposition.host=localhost",
- "networkDiscoveryMicroService.host=localhost",
- "networkDiscoveryMicroService.responseTimeOutInMilliseconds=1000" })
-public class NetworkDiscoveryRspInfoTest {
- NetworkDiscoveryRspInfo networkDiscoveryRspInfo = new NetworkDiscoveryRspInfo();
-
- @Before
- public void setUp() throws Exception {
- }
-
- @After
- public void tearDown() throws Exception {
- }
-
- @Test
- public void testGetRequestId() throws Exception {
- String requestId = "2123";
- networkDiscoveryRspInfo.setRequestId(requestId);
- assertEquals(requestId, networkDiscoveryRspInfo.getRequestId());
- }
-
- @Test
- public void testGetResourceType() throws Exception {
- String resourceType = "vserver";
- networkDiscoveryRspInfo.setResourceType(resourceType);
- assertEquals(resourceType, networkDiscoveryRspInfo.getResourceType());
- }
-
- @Test
- public void testGetResourceId() throws Exception {
- String resourceId = "2123";
- networkDiscoveryRspInfo.setResourceId(resourceId);
- assertEquals(resourceId, networkDiscoveryRspInfo.getResourceId());
- }
-
- @Test
- public void testGetLatchSignal() throws Exception {
- CountDownLatch latchSignal = new CountDownLatch(5);
- networkDiscoveryRspInfo.setLatchSignal(latchSignal);
- assertEquals(latchSignal, networkDiscoveryRspInfo.getLatchSignal());
- }
-
- @Test
- public void testGetNetworkDiscoveryNotificationList() throws Exception {
- NetworkDiscoveryNotification tmpNof = new NetworkDiscoveryNotification();
- List<NetworkDiscoveryNotification> myList = Arrays.asList(tmpNof);
-
- networkDiscoveryRspInfo.setNetworkDiscoveryNotificationList(myList);
- networkDiscoveryRspInfo.toString();
- assertEquals(myList, networkDiscoveryRspInfo.getNetworkDiscoveryNotificationList());
- }
-
- @Test
- public void testGetRelatedRequestIdList() throws Exception {
- List<String> myList = Arrays.asList("myTest123");
-
- networkDiscoveryRspInfo.setRelatedRequestIdList(myList);
- assertEquals(myList, networkDiscoveryRspInfo.getRelatedRequestIdList());
- }
-}
diff --git a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/jolt/TransformationTest.java b/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/jolt/TransformationTest.java
index 7518591..29a4a6f 100644
--- a/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/jolt/TransformationTest.java
+++ b/src/test/java/org/onap/pomba/contextbuilder/networkdiscovery/test/jolt/TransformationTest.java
@@ -28,10 +28,12 @@ import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.onap.pomba.contextbuilder.networkdiscovery.model.NdQuery;
+import org.onap.pomba.common.datatypes.ModelContext;
+import org.onap.pomba.contextbuilder.networkdiscovery.model.NdResources;
public class TransformationTest {
+ private static final String CONFIG_JOLT_DIRECTORY = "config/jolt/";
private static final String TEST_RESOURCES = "src/test/resources/jolt/";
@Rule
@@ -39,26 +41,58 @@ public class TransformationTest {
@Test
- public void testTransformNdQuery() {
+ public void testTransformNdResources() {
- Object sourceObject = JsonUtils.filepathToObject(TEST_RESOURCES + "serviceDecompToNdQuery-input.json");
+ Object sourceObject = JsonUtils.filepathToObject(TEST_RESOURCES + "/serviceDecompResponse.json");
Object sourceObject1 = JsonUtils.jsonToObject(JsonUtils.toJsonString(sourceObject));
- List<Object> chainrSpecJSON = JsonUtils.filepathToList("config/ndQuery.spec");
- Chainr chainr = Chainr.fromSpec(chainrSpecJSON);
+ List<Object> chainrSpecJson = JsonUtils.filepathToList(CONFIG_JOLT_DIRECTORY + "sdToNdResourcesSpec.json");
+ Chainr chainr = Chainr.fromSpec(chainrSpecJson);
+ Object output = chainr.transform(sourceObject1);
+
+ String resultJson = JsonUtils.toJsonString(output);
+
+ System.err.println(resultJson);
+
+ // read the result into the NqQuery class:
+ Gson gson = new Gson();
+ NdResources ndQuery = gson.fromJson(resultJson, NdResources.class);
+
+ // convert ndQuery back to json:
+ String ndQueryToJson = gson.toJson(ndQuery);
+
+
+
+ // Compare with expected output:
+ Object expectedObject = JsonUtils.filepathToObject(TEST_RESOURCES + "serviceDecompToNdResources-expected.json");
+
+ Assert.assertEquals("Json transformation result does not match expected content",
+ JsonUtils.toPrettyJsonString(expectedObject),
+ JsonUtils.toPrettyJsonString(JsonUtils.jsonToObject(ndQueryToJson)));
+
+ }
+
+ @Test
+ public void testTransformModelContext() {
+
+ Object sourceObject = JsonUtils.filepathToObject(TEST_RESOURCES + "serviceDecompResponse.json");
+ Object sourceObject1 = JsonUtils.jsonToObject(JsonUtils.toJsonString(sourceObject));
+
+ List<Object> chainrSpecJson = JsonUtils.filepathToList(CONFIG_JOLT_DIRECTORY + "sdToModelContextSpec.json");
+ Chainr chainr = Chainr.fromSpec(chainrSpecJson);
Object output = chainr.transform(sourceObject1);
String resultJson = JsonUtils.toJsonString(output);
// read the result into the NqQuery class:
Gson gson = new Gson();
- NdQuery ndQuery = gson.fromJson(resultJson, NdQuery.class);
+ ModelContext ndQuery = gson.fromJson(resultJson, ModelContext.class);
// convert ndQuery back to json:
String ndQueryToJson = gson.toJson(ndQuery);
// Compare with expected output:
- Object expectedObject = JsonUtils.filepathToObject(TEST_RESOURCES + "serviceDecompToNdQuery-expected.json");
+ Object expectedObject = JsonUtils.filepathToObject(TEST_RESOURCES + "serviceDecompToModelContext-expected.json");
Assert.assertEquals("Json transformation result does not match expected content",
JsonUtils.toPrettyJsonString(expectedObject),
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 024f21a..c7475b0 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
@@ -24,15 +24,13 @@ import static org.mockito.Mockito.mock;
import com.github.tomakehurst.wiremock.client.WireMock;
import com.github.tomakehurst.wiremock.junit.WireMockRule;
import com.github.tomakehurst.wiremock.matching.UrlPattern;
+import com.google.gson.Gson;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Base64;
-import java.util.List;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
@@ -44,11 +42,8 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.onap.pomba.common.datatypes.DataQuality;
+import org.onap.pomba.common.datatypes.ModelContext;
import org.onap.pomba.contextbuilder.networkdiscovery.service.rs.RestService;
-import org.onap.sdnc.apps.pomba.networkdiscovery.datamodel.Attribute;
-import org.onap.sdnc.apps.pomba.networkdiscovery.datamodel.NetworkDiscoveryNotification;
-import org.onap.sdnc.apps.pomba.networkdiscovery.datamodel.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -75,10 +70,8 @@ public class NetworkDiscoveryContextBuilderTest {
private String partnerName = "POMBA";
private String transactionId = UUID.randomUUID().toString();
private String serviceInstanceId = "c6456519-6acf-4adb-997c-3c363dd4caaf";
- private String requestId = "2131__1";
HttpServletRequest httpServletRequest = mock(HttpServletRequest.class);
- NetworkDiscoveryNotification networkDiscoveryNotification = simulateNetworkDiscoveryNotification();
@Autowired
Environment environment;
@@ -135,8 +128,8 @@ public class NetworkDiscoveryContextBuilderTest {
public void testVerifyServiceDecomposition() throws Exception {
String urlStr = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId;
- addResponse(urlStr, "junit/SD_response.json", serviceDecompositionRule);
- addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule);
+ addResponse(urlStr, "junit/serviceDecompositionResponse-1.json", serviceDecompositionRule);
+ addResponseAny("junit/networkDiscoveryResponseVserver-1.json", networkDiscoveryMicroServiceRule);
Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId,
null, null, serviceInstanceId, null, null);
assertEquals(Status.OK.getStatusCode(), response.getStatus());
@@ -146,20 +139,73 @@ public class NetworkDiscoveryContextBuilderTest {
public void testVerifyGetContext() throws Exception {
String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId;
- addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule);
- addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule);
+ addResponse(serviceDecompUrl, "junit/serviceDecompositionResponse-1.json", serviceDecompositionRule);
+
+ String vserverPayload = readFully(
+ ClassLoader.getSystemResourceAsStream("junit/networkDiscoveryResponseVserver-1.json"));
+ networkDiscoveryMicroServiceRule.stubFor(WireMock
+ .any(WireMock.urlPathEqualTo("/network-discovery/v1/network/resource"))
+ .withQueryParam("resourceType", WireMock.equalTo("vserver")).willReturn(okJson(vserverPayload)));
+
+ String l3networkPayload = readFully(
+ ClassLoader.getSystemResourceAsStream("junit/networkDiscoveryResponseL3Network.json"));
+ networkDiscoveryMicroServiceRule.stubFor(WireMock
+ .any(WireMock.urlPathEqualTo("/network-discovery/v1/network/resource"))
+ .withQueryParam("resourceType", WireMock.equalTo("l3-network")).willReturn(okJson(l3networkPayload)));
Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId,
null, null, serviceInstanceId, null, null);
assertEquals(Status.OK.getStatusCode(), response.getStatus());
+
+ System.out.println(response.getEntity());
+
+ Gson gson = new Gson();
+ ModelContext modelContext = gson.fromJson((String) response.getEntity(), ModelContext.class);
+ assertTrue(modelContext.getVnfs().size() > 0);
+ assertTrue(modelContext.getVnfs().get(0).getVfModules().size() > 0);
+ assertTrue(modelContext.getVnfs().get(0).getVfModules().get(0).getVms().size() > 0);
+
+ }
+
+ @Test
+ public void testVerifyGetContextNdResourceNotFound() throws Exception {
+
+ String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId;
+ addResponse(serviceDecompUrl, "junit/serviceDecompositionResponse-1.json", serviceDecompositionRule);
+ UrlPattern testPath = WireMock.anyUrl();
+ networkDiscoveryMicroServiceRule.stubFor(get(testPath).willReturn(WireMock.notFound()));
+
+ Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId,
+ null, null, serviceInstanceId, null, null);
+
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+
+ Gson gson = new Gson();
+ ModelContext modelContext = gson.fromJson((String)response.getEntity(), ModelContext.class);
+ assertTrue(modelContext.getVnfs().size() > 0);
+ assertTrue(modelContext.getVnfs().get(0).getVfModules().size() > 0);
+ assertTrue(modelContext.getVnfs().get(0).getVfModules().get(0).getVms().size() > 0);
+
+ }
+
+ @Test
+ public void testVerifyGetContextSdResoureNofFound() throws Exception {
+
+ UrlPattern testPath = WireMock.anyUrl();
+ serviceDecompositionRule.stubFor(get(testPath).willReturn(WireMock.notFound()));
+
+ Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, transactionId,
+ null, null, serviceInstanceId, null, null);
+
+ assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
}
@Test
public void testVerifyNoPartnerNameWithFromAppId() throws Exception {
String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId;
- addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule);
- addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule);
+ addResponse(serviceDecompUrl, "junit/serviceDecompositionResponse-1.json", serviceDecompositionRule);
+ addResponseAny("junit/networkDiscoveryResponseVserver-1.json", networkDiscoveryMicroServiceRule);
Response response = this.restService.getContext(httpServletRequest, authorization, null, transactionId,
partnerName, null, serviceInstanceId, null, null);
@@ -169,8 +215,8 @@ public class NetworkDiscoveryContextBuilderTest {
@Test
public void testVerifyNoRequestIdNoTransactionId() throws Exception {
String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId;
- addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule);
- addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule);
+ addResponse(serviceDecompUrl, "junit/serviceDecompositionResponse-1.json", serviceDecompositionRule);
+ addResponseAny("junit/networkDiscoveryResponseVserver-1.json", networkDiscoveryMicroServiceRule);
Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, null, null,
null, serviceInstanceId, null, null);
@@ -180,8 +226,8 @@ public class NetworkDiscoveryContextBuilderTest {
@Test
public void testVerifyNoPartnerNameNoFromAppId() throws Exception {
String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId;
- addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule);
- addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule);
+ addResponse(serviceDecompUrl, "junit/serviceDecompositionResponse-1.json", serviceDecompositionRule);
+ addResponseAny("junit/networkDiscoveryResponseVserver-1.json", networkDiscoveryMicroServiceRule);
Response response = this.restService.getContext(httpServletRequest, authorization, null, transactionId, null,
null, serviceInstanceId, null, null);
@@ -191,8 +237,8 @@ public class NetworkDiscoveryContextBuilderTest {
@Test
public void testVerifyNoRequestIdWithTransactionId() throws Exception {
String serviceDecompUrl = "/service-decomposition/service/context?serviceInstanceId=" + serviceInstanceId;
- addResponse(serviceDecompUrl, "junit/serviceDecomposition-1.json", serviceDecompositionRule);
- addResponseAny("junit/networkDiscoveryResponse-1.json", networkDiscoveryMicroServiceRule);
+ addResponse(serviceDecompUrl, "junit/serviceDecompositionResponse-1.json", serviceDecompositionRule);
+ addResponseAny("junit/networkDiscoveryResponseVserver-1.json", networkDiscoveryMicroServiceRule);
Response response = this.restService.getContext(httpServletRequest, authorization, partnerName, null, null,
transactionId, serviceInstanceId, null, null);
@@ -206,8 +252,8 @@ public class NetworkDiscoveryContextBuilderTest {
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)));
+ UrlPattern testPath = WireMock.anyUrl();
+ thisMock.stubFor(get(testPath).willReturn(okJson(payload)));
}
private String readFully(InputStream in) throws IOException {
@@ -221,75 +267,4 @@ public class NetworkDiscoveryContextBuilderTest {
}
return content.toString();
}
-
- private NetworkDiscoveryNotification simulateNetworkDiscoveryNotification() {
- Resource myResource = new Resource();
- myResource.setId("25fb07ab-0478-465e-a021-6384ac299671");
- myResource.setType("vserver");
- DataQuality dataQuality = new DataQuality();
- dataQuality.setStatus(DataQuality.Status.ok);
- myResource.setDataQuality(dataQuality);
- Attribute attribute = new Attribute();
- attribute.setName("vserver-id");
- attribute.setValue("25fb07ab-0478-465e-a021-6384ac299671");
- attribute.setDataQuality(dataQuality);
- List<Attribute> attributeList = new ArrayList<>();
- attributeList.add(attribute);
-
- attribute.setName("power-state");
- attribute.setValue("1");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName("vm-state");
- attribute.setValue("active");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName("status");
- attribute.setValue("ACTIVE");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName("host-status");
- attribute.setValue("UNKNOWN");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName("updated");
- attribute.setValue("2017-11-20T04:26:13Z");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName("disk-allocation-gb");
- attribute.setValue(".010");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName("memory-usage-mb");
- attribute.setValue("null");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName("cpu-util-percent");
- attribute.setValue(".048");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
-
- attribute.setName(".048");
- attribute.setValue("2018-07-26 01:37:07 +0000");
- attribute.setDataQuality(dataQuality);
- attributeList.add(attribute);
- myResource.setAttributeList(attributeList);
-
- NetworkDiscoveryNotification notification = new NetworkDiscoveryNotification();
- notification.setResources(Arrays.asList(myResource));
- notification.setAckFinalIndicator(true);
- notification.setCode(200);
- notification.setRequestId(requestId);
- notification.setMessage("OK");
-
- return notification;
- }
-
}