summaryrefslogtreecommitdiffstats
path: root/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java')
-rw-r--r--pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java83
1 files changed, 76 insertions, 7 deletions
diff --git a/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java b/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java
index 37a5518..0680842 100644
--- a/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java
+++ b/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java
@@ -42,6 +42,7 @@ import org.json.JSONObject;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mockito;
import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.onap.sdnc.apps.pomba.servicedecomposition.service.rs.RestService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -63,13 +64,15 @@ import org.springframework.test.context.web.WebAppConfiguration;
"aai.servicePort=8081",
"basicAuth.username=admin",
"basicAuth.password=OBF:1u2a1toa1w8v1tok1u30"
-})
+ })
public class ServiceDecompositionTest {
private static final String AUTH = "Basic " + Base64.getEncoder().encodeToString((
"admin:" + Password.deobfuscate("OBF:1u2a1toa1w8v1tok1u30")).getBytes());
+ private HttpServletRequest httpRequest = Mockito.mock(HttpServletRequest.class);
+
// TODO missing code coverage for VNFC resources
@Rule
@@ -120,7 +123,6 @@ public class ServiceDecompositionTest {
final String networkId1 = "HNP1d77c-1094-41ec-b7f3-94bb30951870";
final String networkId2 = "HNP1d77c-1094-41ec-b7f3-94bb30951872";
- HttpServletRequest httpRequest = new TestHttpServletRequest();
Response response = this.service.getContext(httpRequest, AUTH, "network-discovery-context-builder", null,
serviceInstanceId);
assertEquals(200, response.getStatus());
@@ -152,12 +154,79 @@ public class ServiceDecompositionTest {
}
@Test
+ public void testDemoFirewallServiceWithL3Networks() throws Exception {
+ // setup A&AI responses
+ addResponse(
+ "/aai/v13/nodes/service-instance/c6456519-6acf-4adb-997c-3c363dd4caaf",
+ "junit/aai-service-instance2.json");
+ addResponse(
+ "/aai/v13/network/generic-vnfs/generic-vnf/6700c313-fbb7-4cf9-ac70-0293ec56df68?depth=2",
+ "junit/aai-generic-vnf1.json");
+ addResponse(
+ "/aai/v13/network/generic-vnfs/generic-vnf/8a9ddb25-2e79-449c-a40d-5011bac0da39?depth=2",
+ "junit/aai-generic-vnf2.json");
+ addResponse(
+ "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant"
+ + "/b49b830686654191bb1e952a74b014ad/vservers/vserver/b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74a",
+ "junit/aai-vserver.json");
+ addResponse(
+ "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951870",
+ "junit/aai-l3-network1.json");
+ addResponse(
+ "/aai/v13/network/l3-networks/l3-network/HNP1d77c-1094-41ec-b7f3-94bb30951872",
+ "junit/aai-l3-network2.json");
+
+ final String serviceInstanceId = "c6456519-6acf-4adb-997c-3c363dd4caaf";
+ final String vnfId1 = "6700c313-fbb7-4cf9-ac70-0293ec56df68";
+ final String vnfId2 = "8a9ddb25-2e79-449c-a40d-5011bac0da39";
+ final String vserverId = "b494cd6e-b9f3-45e0-afe7-e1d1a5f5d74a";
+ final String networkId1 = "HNP1d77c-1094-41ec-b7f3-94bb30951870";
+ final String networkId2 = "HNP1d77c-1094-41ec-b7f3-94bb30951872";
+
+ Response response = this.service.getContext(httpRequest, AUTH, "network-discovery-context-builder", null,
+ serviceInstanceId);
+ assertEquals(200, response.getStatus());
+
+ JSONObject serviceInstance = new JSONObject((String)response.getEntity());
+
+ // verify two generic-vnfs added to service instance data
+ verifyResource(serviceInstance, "generic-vnfs", "vnf-id", vnfId1);
+ verifyResource(serviceInstance, "generic-vnfs", "vnf-id", vnfId2);
+ verifyResource(serviceInstance, "l3-networks", "network-id", networkId1);
+
+ JSONArray vnfs = serviceInstance.getJSONArray("generic-vnfs");
+ for (int i = 0; i < vnfs.length(); i++) {
+ JSONObject vnf = vnfs.getJSONObject(i);
+ String vnfId = vnf.getString("vnf-id");
+ switch (vnfId) {
+ case vnfId1:
+ // verify vserver resource
+ verifyResource(vnf, "vservers", "vserver-id", vserverId);
+ break;
+ case vnfId2:
+ // verify network resources
+ verifyResource(vnf, "l3-networks", "network-id", networkId1);
+ verifyResource(vnf, "l3-networks", "network-id", networkId2);
+ JSONObject vfmodules = vnf.getJSONObject("vf-modules");
+ JSONArray vfmoduleList = vfmodules.getJSONArray("vf-module");
+ for (int j = 0; j < vfmoduleList.length(); j++) {
+ JSONObject vfmodule = vfmoduleList.getJSONObject(j);
+ verifyResource(vfmodule, "l3-networks", "network-id", networkId1);
+ }
+ break;
+ default:
+ fail("Unexpected generic-vnf " + vnfId);
+ }
+ }
+ }
+
+ @Test
public void testNoAuthHeader() throws Exception {
String fromAppId = "junit";
String transactionId = null;
String serviceInstanceId = "aServiceInstanceId";
// no Authorization header
- Response response = this.service.getContext(new TestHttpServletRequest(), null, fromAppId, transactionId,
+ Response response = this.service.getContext(httpRequest, null, fromAppId, transactionId,
serviceInstanceId);
assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
// should get WWW-Authenticate header in response
@@ -172,7 +241,7 @@ public class ServiceDecompositionTest {
String transactionId = null;
String serviceInstanceId = "aServiceInstanceId";
- Response response = this.service.getContext(new TestHttpServletRequest(), authorization, fromAppId,
+ Response response = this.service.getContext(httpRequest, authorization, fromAppId,
transactionId, serviceInstanceId);
assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
// should not get WWW-Authenticate header in response
@@ -186,7 +255,7 @@ public class ServiceDecompositionTest {
String transactionId = null;
String serviceInstanceId = "someValue";
- Response response = this.service.getContext(new TestHttpServletRequest(), AUTH, fromAppId, transactionId,
+ Response response = this.service.getContext(httpRequest, AUTH, fromAppId, transactionId,
serviceInstanceId);
assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
assertTrue(((String)response.getEntity()).contains(ONAPLogConstants.Headers.PARTNER_NAME));
@@ -199,7 +268,7 @@ public class ServiceDecompositionTest {
String transactionId = null;
String serviceInstanceId = null;
- Response response = this.service.getContext(new TestHttpServletRequest(), AUTH, fromAppId, transactionId,
+ Response response = this.service.getContext(httpRequest, AUTH, fromAppId, transactionId,
serviceInstanceId);
assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
assertTrue(((String)response.getEntity()).contains("service-instance-id"));
@@ -211,7 +280,7 @@ public class ServiceDecompositionTest {
aai.stubFor(get("/aai/v13/nodes/service-instance/noSuchServiceId").willReturn(notFound()));
Response response =
- this.service.getContext(new TestHttpServletRequest(), AUTH, "junit", null, "noSuchServiceId");
+ this.service.getContext(httpRequest, AUTH, "junit", null, "noSuchServiceId");
assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
}