aboutsummaryrefslogtreecommitdiffstats
path: root/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java')
-rw-r--r--generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java99
1 files changed, 98 insertions, 1 deletions
diff --git a/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java b/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java
index d3513f70..55b7db44 100644
--- a/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java
+++ b/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java
@@ -8,12 +8,18 @@ import static org.onap.sdnc.northbound.GenericResourceApiProvider.INVALID_INPUT_
import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE;
import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM;
import static org.onap.sdnc.northbound.util.MDSALUtil.build;
+import static org.onap.sdnc.northbound.util.MDSALUtil.contrailRouteResponseInformation;
import static org.onap.sdnc.northbound.util.MDSALUtil.contrailRouteTopologyOperationInput;
+import static org.onap.sdnc.northbound.util.MDSALUtil.contrailRouteTopologyOperationOutput;
import static org.onap.sdnc.northbound.util.MDSALUtil.exec;
+import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation;
+import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader;
import static org.onap.sdnc.northbound.util.MDSALUtil.service;
import static org.onap.sdnc.northbound.util.MDSALUtil.serviceData;
import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder;
import static org.onap.sdnc.northbound.util.MDSALUtil.serviceLevelOperStatus;
+import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation;
+import static org.onap.sdnc.northbound.util.MDSALUtil.serviceStatus;
import java.time.Instant;
import org.junit.Before;
@@ -32,6 +38,10 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.re
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastOrderStatus;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastRpcAction;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.OrderStatus;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformation;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service;
import org.opendaylight.yangtools.yang.common.RpcResult;
@@ -65,6 +75,10 @@ public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiPro
public void should_fail_when_invalid_service_data() throws Exception {
ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput()
+ .setSdncRequestHeader(build(sdncRequestHeader()
+ .setSvcRequestId("test-svc-request-id")
+ .setSvcAction(SvcAction.Assign)
+ ))
.setServiceInformation(build(serviceInformationBuilder()
.setServiceInstanceId("test-service-instance-id")
))
@@ -86,6 +100,10 @@ public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiPro
svcClient.mockExecute(new RuntimeException("test exception"));
ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput()
+ .setSdncRequestHeader(build(sdncRequestHeader()
+ .setSvcRequestId("test-svc-request-id")
+ .setSvcAction(SvcAction.Assign)
+ ))
.setServiceInformation(build(serviceInformationBuilder()
.setServiceInstanceId("test-service-instance-id")
))
@@ -107,6 +125,10 @@ public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiPro
svcClient.mockHasGraph(false);
ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput()
+ .setSdncRequestHeader(build(sdncRequestHeader()
+ .setSvcRequestId("test-svc-request-id")
+ .setSvcAction(SvcAction.Assign)
+ ))
.setServiceInformation(build(serviceInformationBuilder()
.setServiceInstanceId("test-service-instance-id")
))
@@ -136,6 +158,10 @@ public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiPro
genericResourceApiProvider.setDataBroker(spyDataBroker);
ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput()
+ .setSdncRequestHeader(build(sdncRequestHeader()
+ .setSvcRequestId("test-svc-request-id")
+ .setSvcAction(SvcAction.Assign)
+ ))
.setServiceInformation(build(serviceInformationBuilder()
.setServiceInstanceId("test-service-instance-id")
))
@@ -152,6 +178,47 @@ public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiPro
}
+ @Test
+ public void should_success_when_no_errors_encountered() throws Exception {
+
+ svcClient.mockHasGraph(true);
+ PropBuilder svcResultProp = svcClient.createExecuteOKResult();
+ svcResultProp.set("contrail-route-object-path", "contrailRouteObjectPath: XYZ");
+ svcClient.mockExecute(svcResultProp);
+
+ ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput()
+ .setSdncRequestHeader(build(sdncRequestHeader()
+ .setSvcRequestId("test-svc-request-id")
+ .setSvcAction(SvcAction.Assign)
+ ))
+ .setRequestInformation(build(requestInformation()
+ .setRequestId("test-request-id")
+ .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance)
+ ))
+ .setServiceInformation(build(serviceInformationBuilder()
+ .setServiceInstanceId("test-service-instance-id")
+ ))
+ );
+
+ Service service = persistServiceInDataBroker(input);
+
+ ContrailRouteTopologyOperationOutput output =
+ exec(genericResourceApiProvider::contrailRouteTopologyOperation, input, RpcResult::getResult);
+
+ assertEquals("200", output.getResponseCode());
+ assertEquals("OK", output.getResponseMessage());
+ assertEquals("Y", output.getAckFinalIndicator());
+
+ ContrailRouteTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input);
+ assertEquals(expectedOutput, output);
+
+ Service actualService = db
+ .read(input.getServiceInformation().getServiceInstanceId(), LogicalDatastoreType.CONFIGURATION);
+
+ Service expectedService = createExpectedService(input, service.getServiceData());
+ assertEquals(expectedService, actualService);
+ }
+
private Service persistServiceInDataBroker(ContrailRouteTopologyOperationInput input) throws Exception {
Service service = build(service()
@@ -160,7 +227,7 @@ public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiPro
.setServiceLevelOperStatus(build(serviceLevelOperStatus()
.setOrderStatus(OrderStatus.Created)
.setModifyTimestamp(Instant.now().toString())
- .setLastSvcRequestId("svc-request-id: abc")
+ .setLastSvcRequestId(input.getSdncRequestHeader().getSvcRequestId())
.setLastRpcAction(LastRpcAction.Activate)
.setLastOrderStatus(LastOrderStatus.PendingAssignment)
.setLastAction(LastAction.ActivateNetworkInstance)
@@ -171,4 +238,34 @@ public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiPro
db.write(true, service, LogicalDatastoreType.CONFIGURATION);
return service;
}
+
+ private ContrailRouteTopologyOperationOutput createExpectedOutput(PropBuilder propBuilder,
+ ContrailRouteTopologyOperationInput input) {
+
+ return build(contrailRouteTopologyOperationOutput()
+ .setContrailRouteResponseInformation(build(contrailRouteResponseInformation()
+ .setObjectPath(propBuilder.get("contrail-route-object-path"))))
+ .setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId())
+ .setResponseCode(propBuilder.get(svcClient.errorCode))
+ .setAckFinalIndicator(propBuilder.get(svcClient.ackFinal))
+ .setResponseMessage(propBuilder.get(svcClient.errorMessage))
+ .setServiceResponseInformation(build(serviceResponseInformation()
+ .setInstanceId(input.getServiceInformation().getServiceInstanceId())
+ .setObjectPath(propBuilder.get(svcClient.serviceObjectPath))
+ ))
+ );
+ }
+
+ private Service createExpectedService(
+ ContrailRouteTopologyOperationInput expectedInput, ServiceData expectedServiceData) {
+
+ ServiceInformation expectedServiceInformation = expectedInput.getServiceInformation();
+
+ return build(service()
+ .setServiceInstanceId(expectedServiceInformation.getServiceInstanceId())
+ .setServiceData(build(serviceData()))
+ .setServiceData(expectedServiceData)
+ .setServiceStatus(build(serviceStatus()))
+ );
+ }
}