* ============LICENSE_END=========================================================
*/
package org.openecomp.mso.bpmn.vcpe.scripts
-\r
-\r
-import org.camunda.bpm.engine.ProcessEngineServices\r
-import org.camunda.bpm.engine.RepositoryService\r
-import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity\r
-import org.camunda.bpm.engine.repository.ProcessDefinition\r
-import org.camunda.bpm.engine.runtime.Execution\r
+
+
+import org.camunda.bpm.engine.ProcessEngineServices
+import org.camunda.bpm.engine.RepositoryService
+import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
+import org.camunda.bpm.engine.repository.ProcessDefinition
import org.junit.Before
-import org.junit.BeforeClass\r
-import org.junit.Rule\r
+import org.junit.BeforeClass
+import org.junit.Rule
import org.junit.Test
-import org.junit.Ignore\r
+import org.junit.Ignore
import org.mockito.MockitoAnnotations
-import org.camunda.bpm.engine.delegate.BpmnError\r
+import org.camunda.bpm.engine.delegate.BpmnError
import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.domain.HomingSolution
import org.openecomp.mso.bpmn.mock.FileUtil
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse
import static com.github.tomakehurst.wiremock.client.WireMock.put
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor
import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching
-import static org.junit.Assert.*;\r
+import static org.junit.Assert.*;
import static org.mockito.Mockito.*
import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetAllottedResource
import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
import org.openecomp.mso.bpmn.vcpe.scripts.MapGetter
import org.openecomp.mso.bpmn.vcpe.scripts.MapSetter
-import com.github.tomakehurst.wiremock.junit.WireMockRule\r
-\r
+import com.github.tomakehurst.wiremock.junit.WireMockRule
+
class CreateVcpeResCustServiceTest extends GroovyTestBase {
- private static String request\r
- \r
- @Rule\r
+ private static String request
+
+ @Rule
public WireMockRule wireMockRule = new WireMockRule(PORT)
-\r
+
String Prefix = "CVRCS_"
- String RbType = "DCRENI_"\r
+ String RbType = "DCRENI_"
@BeforeClass
public static void setUpBeforeClass() {
- super.setUpBeforeClass()
request = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/request.json")
}
- \r
- @Before\r
- public void init()\r
- {\r
- MockitoAnnotations.initMocks(this)\r
+
+ @Before
+ public void init()
+ {
+ MockitoAnnotations.initMocks(this)
}
public CreateVcpeResCustServiceTest() {
}
- // ***** preProcessRequest *****\r
- \r
- @Test\r
-// @Ignore \r
- public void preProcessRequest() {\r
+ // ***** preProcessRequest *****
+
+ @Test
+ @Ignore // 1802 merge
+ public void preProcessRequest() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
initPreProcess(mex)
- \r
- CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()\r
- CreateVcpeResCustService.preProcessRequest(mex)\r
-\r
- verify(mex).getVariable(DBGFLAG)\r
+
+ CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
+ CreateVcpeResCustService.preProcessRequest(mex)
+
+ verify(mex).getVariable(DBGFLAG)
verify(mex).setVariable("prefix", Prefix)
+ verify(mex).setVariable("aaiDistDelay", "aaidelay")
verify(mex).setVariable("createVcpeServiceRequest", request)
verify(mex).setVariable("msoRequestId", "mri")
assertEquals("sii", map.get("serviceInstanceId"))
assertTrue(map.containsKey("subscriberInfo"))
verify(mex).setVariable("brgWanMacAddress", "brgmac")
+ verify(mex).setVariable("customerLocation", ["customerLatitude":"32.897480", "customerLongitude":"-97.040443", "customerName":"some_company"])
+ verify(mex).setVariable("homingService", "sniro")
assertTrue(map.containsKey("serviceInputParams"))
assertTrue(map.containsKey(Prefix+"requestInfo"))
def reqinfo = map.get(Prefix+"requestInfo")
assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0)
- assertTrue(reqinfo.indexOf("<source>VID</") >= 0)\r
+ assertTrue(reqinfo.indexOf("<source>VID</") >= 0)
}
@Test
-// @Ignore
+ // @Ignore
+ public void preProcessRequest_MissingAaiDistDelay() {
+ ExecutionEntity mex = setupMock()
+ def map = setupMap(mex)
+ initPreProcess(mex)
+
+ when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn(null)
+
+ CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
+
+ assertTrue(doBpmnError( { _ -> CreateVcpeResCustService.preProcessRequest(mex) }))
+ }
+
+ @Test
+ @Ignore // 1802 merge
public void preProcessRequest_EmptyParts() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
def req = request
.replace('"source"', '"sourceXXX"')
.replace('"BRG_WAN_MAC_Address"', '"BRG_WAN_MAC_AddressXXX"')
+ .replace('"Customer_Location"', '"Customer_LocationXXX"')
when(mex.getVariable("bpmnRequest")).thenReturn(req)
when(mex.getVariable("serviceInstanceId")).thenReturn(null)
assertTrue(map.containsKey("subscriberInfo"))
assertEquals("", map.get("brgWanMacAddress"))
+ assertEquals("", map.get("customerLocation"))
+ assertEquals("oof", map.get("homingService"))
assertTrue(map.containsKey("serviceInputParams"))
assertTrue(map.containsKey(Prefix+"requestInfo"))
}
@Test
-// @Ignore
+ // @Ignore
public void preProcessRequest_MissingSubscriberId() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void preProcessRequest_BpmnError() {
ExecutionEntity mex = setupMock()
initPreProcess(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void preProcessRequest_Ex() {
ExecutionEntity mex = setupMock()
initPreProcess(mex)
// ***** sendSyncResponse *****
@Test
-// @Ignore
+ // @Ignore
public void sendSyncResponse() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void sendSyncResponse_Ex() {
ExecutionEntity mex = setupMock()
initSendSyncResponse(mex)
// ***** prepareDecomposeService *****
@Test
-// @Ignore
+ // @Ignore
public void prepareDecomposeService() {
ExecutionEntity mex = setupMock()
initPrepareDecomposeService(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareDecomposeService_Ex() {
ExecutionEntity mex = setupMock()
initPrepareDecomposeService(mex)
// ***** prepareCreateServiceInstance *****
@Test
- @Ignore
+ // @Ignore
public void prepareCreateServiceInstance() {
ExecutionEntity mex = setupMock()
initPrepareCreateServiceInstance(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareCreateServiceInstance_Ex() {
ExecutionEntity mex = setupMock()
initPrepareCreateServiceInstance(mex)
// ***** postProcessServiceInstanceCreate *****
@Test
-// @Ignore
+ // @Ignore
public void postProcessServiceInstanceCreate() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void postProcessServiceInstanceCreate_BpmnError() {
ExecutionEntity mex = setupMock()
initPostProcessServiceInstanceCreate(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void postProcessServiceInstanceCreate_Ex() {
ExecutionEntity mex = setupMock()
initPostProcessServiceInstanceCreate(mex)
// ***** processDecomposition *****
@Test
-// @Ignore
+ // @Ignore
public void processDecomposition() {
ExecutionEntity mex = setupMock()
- def svcdecomp = initProcessDecomposition(mex, true, true)
+ def svcdecomp = initProcessDecomposition(mex)
CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
CreateVcpeResCustService.processDecomposition(mex)
verify(mex).getVariable(DBGFLAG)
verify(mex).setVariable("vnfList", svcdecomp.getServiceVnfs())
- verify(mex).setVariable("vnfListString", '[myvnf, myvnf2, myvnf3]')
- verify(mex).setVariable(Prefix+"VNFsCount", 3)
+ verify(mex).setVariable("vnfListString", '[myvnf]')
+ verify(mex).setVariable(Prefix+"VNFsCount", 1)
verify(mex).setVariable("vnfModelInfo", "mymodel")
verify(mex).setVariable("vnfModelInfoString", "mymodel")
}
@Test
-// @Ignore
+ // @Ignore
public void processDecomposition_EmptyNet_EmptyVnf() {
ExecutionEntity mex = setupMock()
- def svcdecomp = initProcessDecomposition(mex, true, true)
+ def svcdecomp = initProcessDecomposition(mex)
when(svcdecomp.getServiceVnfs()).thenReturn(new LinkedList<VnfResource>())
}
@Test
-// @Ignore
+ // @Ignore
public void processDecomposition_Ex() {
ExecutionEntity mex = setupMock()
- def svcdecomp = initProcessDecomposition(mex, true, true)
+ def svcdecomp = initProcessDecomposition(mex)
when(svcdecomp.getServiceVnfs()).thenThrow(new RuntimeException("expected exception"))
}
+ // ***** filterVnfs *****
+
+ @Test
+ // @Ignore
+ public void filterVnfs() {
+ ExecutionEntity mex = setupMock()
+ def svcdecomp = initFilterVnfs(mex)
+
+ CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
+ CreateVcpeResCustService.processDecomposition(mex)
+
+ verify(mex).setVariable("vnfListString", '[myvnf3, myvnf5]')
+ }
+
+ @Test
+ // @Ignore
+ public void filterVnfs_Null() {
+ ExecutionEntity mex = setupMock()
+ def svcdecomp = initFilterVnfs(mex)
+
+ when(svcdecomp.getServiceVnfs()).thenReturn(null)
+
+ CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService()
+ CreateVcpeResCustService.processDecomposition(mex)
+
+ // nothing more to check, as long as it didn't throw an exception
+ }
+
+
// ***** prepareCreateAllottedResourceTXC *****
@Test
- @Ignore
+ // @Ignore
public void prepareCreateAllottedResourceTXC() {
ExecutionEntity mex = setupMock()
initPrepareCreateAllottedResourceTXC(mex)
verify(mex).setVariable("createTXCAR", true)
verify(mex).setVariable("allottedResourceModelInfoTXC", "modelB")
verify(mex).setVariable("allottedResourceRoleTXC", "TXCr")
- verify(mex).setVariable("allottedResourceTypeTXC", "TunnelXConn")
+ verify(mex).setVariable("allottedResourceTypeTXC", "Tunnel XConn")
verify(mex).setVariable("parentServiceInstanceIdTXC", "homeB")
}
@Test
-// @Ignore
+ // @Ignore
public void prepareCreateAllottedResourceTXC_NullArList() {
ExecutionEntity mex = setupMock()
def svcdecomp = initPrepareCreateAllottedResourceTXC(mex)
verify(mex, never()).setVariable("createTXCAR", true)
verify(mex, never()).setVariable("allottedResourceModelInfoTXC", "modelB")
verify(mex, never()).setVariable("allottedResourceRoleTXC", "TXCr")
- verify(mex, never()).setVariable("allottedResourceTypeTXC", "TunnelXConn")
+ verify(mex, never()).setVariable("allottedResourceTypeTXC", "Tunnel XConn")
verify(mex, never()).setVariable("parentServiceInstanceIdTXC", "homeB")
}
@Test
-// @Ignore
+ // @Ignore
public void prepareCreateAllottedResourceTXC_Ex() {
ExecutionEntity mex = setupMock()
initPrepareCreateAllottedResourceTXC(mex)
// ***** prepareCreateAllottedResourceBRG *****
@Test
- @Ignore
+ // @Ignore
public void prepareCreateAllottedResourceBRG() {
ExecutionEntity mex = setupMock()
initPrepareCreateAllottedResourceBRG(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareCreateAllottedResourceBRG_NullArList() {
ExecutionEntity mex = setupMock()
def svcdecomp = initPrepareCreateAllottedResourceBRG(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareCreateAllottedResourceBRG_Ex() {
ExecutionEntity mex = setupMock()
initPrepareCreateAllottedResourceBRG(mex)
// ***** prepareVnfAndModulesCreate *****
@Test
-// @Ignore
+ // @Ignore
public void prepareVnfAndModulesCreate() {
ExecutionEntity mex = setupMock()
initPrepareVnfAndModulesCreate(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareVnfAndModulesCreate_EmptyList() {
ExecutionEntity mex = setupMock()
initPrepareVnfAndModulesCreate(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareVnfAndModulesCreate_NullList() {
ExecutionEntity mex = setupMock()
initPrepareVnfAndModulesCreate(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareVnfAndModulesCreate_Ex() {
ExecutionEntity mex = setupMock()
initPrepareVnfAndModulesCreate(mex)
// ***** validateVnfCreate *****
@Test
-// @Ignore
+ // @Ignore
public void validateVnfCreate() {
ExecutionEntity mex = setupMock()
initValidateVnfCreate(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void validateVnfCreate_Ex() {
ExecutionEntity mex = setupMock()
initValidateVnfCreate(mex)
// ***** postProcessResponse *****
@Test
-// @Ignore
+ // @Ignore
public void postProcessResponse() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void postProcessResponse_BpmnError() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void postProcessResponse_Ex() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
// ***** preProcessRollback *****
@Test
-// @Ignore
+ // @Ignore
public void preProcessRollback() {
ExecutionEntity mex = setupMock()
def wfe = initPreProcessRollback(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void preProcessRollback_NullWfe() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void preProcessRollback_BpmnError() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void preProcessRollback_Ex() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
// ***** postProcessRollback *****
@Test
-// @Ignore
+ // @Ignore
public void postProcessRollback() {
ExecutionEntity mex = setupMock()
def wfe = initPostProcessRollback(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void postProcessRollback_NullWfe() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void postProcessRollback_BpmnError() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void postProcessRollback_Ex() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
// ***** prepareFalloutRequest *****
@Test
-// @Ignore
+ // @Ignore
public void prepareFalloutRequest() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void prepareFalloutRequest_Ex() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
// ***** sendSyncError *****
@Test
-// @Ignore
+ // @Ignore
public void sendSyncError() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void sendSyncError_NotWfe() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void sendSyncError_NullWfe() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void sendSyncError_Ex() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
// ***** processJavaException *****
@Test
-// @Ignore
+ // @Ignore
public void processJavaException() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void processJavaException_BpmnError() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
}
@Test
-// @Ignore
+ // @Ignore
public void processJavaException_Ex() {
ExecutionEntity mex = setupMock()
def map = setupMap(mex)
private void initPreProcess(ExecutionEntity mex) {
when(mex.getVariable(DBGFLAG)).thenReturn("true")
when(mex.getVariable("bpmnRequest")).thenReturn(request)
+ when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("aaidelay")
when(mex.getVariable("mso-request-id")).thenReturn("mri")
when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
when(mex.getVariable("requestAction")).thenReturn("ra")
when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
- when(svcdecomp.toJsonString()).thenReturn("mydecomp")
+ when(svcdecomp.toJsonStringNoRootName()).thenReturn("mydecomp")
}
private void initPostProcessServiceInstanceCreate(ExecutionEntity mex) {
when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
}
- private ServiceDecomposition initProcessDecomposition(ExecutionEntity mex, boolean haveNet, boolean haveVnf) {
+ private ServiceDecomposition initProcessDecomposition(ExecutionEntity mex) {
List<VnfResource> vnflst = new LinkedList<>()
- if(haveVnf) {
- vnflst.add(makeVnf(""))
- vnflst.add(makeVnf("2"))
- vnflst.add(makeVnf("3"))
- }
+ vnflst.add(makeVnf("", ""))
+ vnflst.add(makeVnf("2", "BRG"))
+ vnflst.add(makeVnf("3", "BRG"))
ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
when(svcdecomp.getServiceVnfs()).thenReturn(vnflst)
return svcdecomp
}
+ private ServiceDecomposition initFilterVnfs(ExecutionEntity mex) {
+ List<VnfResource> vnflst = new LinkedList<>()
+ vnflst.add(makeVnf("", "BRG"))
+ vnflst.add(makeVnf("2", "Tunnel XConn"))
+ vnflst.add(makeVnf("3", ""))
+ vnflst.add(makeVnf("4", "BRG"))
+ vnflst.add(makeVnf("5", "other"))
+
+ ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
+ when(svcdecomp.getServiceVnfs()).thenReturn(vnflst)
+
+ when(mex.getVariable(DBGFLAG)).thenReturn("true")
+ when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp)
+ when(mex.getVariable("serviceInstanceId")).thenReturn("sii")
+ when(mex.getVariable("serviceInstanceName")).thenReturn("sin")
+
+ return svcdecomp
+ }
+
+ private initAwaitAaiDistribution(ExecutionEntity mex) {
+ when(mex.getVariable(DBGFLAG)).thenReturn("true")
+ }
+
private ServiceDecomposition initPrepareCreateAllottedResourceTXC(ExecutionEntity mex) {
ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class)
List<AllottedResource> arlst = new LinkedList<>()
ModelInfo mod = mock(ModelInfo.class)
HomingSolution home = mock(HomingSolution.class)
- when(ar.toJsonString()).thenReturn("json"+id)
- when(ar.getAllottedResourceType()).thenReturn("TunnelXConn")
+ when(ar.toJsonStringNoRootName()).thenReturn("json"+id)
+ when(ar.getAllottedResourceType()).thenReturn("Tunnel XConn")
when(ar.getModelInfo()).thenReturn(mod)
when(ar.getAllottedResourceRole()).thenReturn("TXCr")
when(ar.getHomingSolution()).thenReturn(home)
- when(mod.toJsonString()).thenReturn("model"+id)
+ when(mod.toJsonStringNoRootName()).thenReturn("model"+id)
when(home.getServiceInstanceId()).thenReturn("home"+id)
ModelInfo mod = mock(ModelInfo.class)
HomingSolution home = mock(HomingSolution.class)
- when(ar.toJsonString()).thenReturn("json"+id)
+ when(ar.toJsonStringNoRootName()).thenReturn("json"+id)
when(ar.getAllottedResourceType()).thenReturn("BRG")
when(ar.getModelInfo()).thenReturn(mod)
when(ar.getAllottedResourceRole()).thenReturn("BRGr")
when(ar.getHomingSolution()).thenReturn(home)
- when(mod.toJsonString()).thenReturn("model"+id)
+ when(mod.toJsonStringNoRootName()).thenReturn("model"+id)
when(home.getServiceInstanceId()).thenReturn("home"+id)
List<VnfResource> vnflst = new LinkedList<>()
- vnflst.add(makeVnf("A"))
- vnflst.add(makeVnf("B"))
- vnflst.add(makeVnf("C"))
- vnflst.add(makeVnf("D"))
+ vnflst.add(makeVnf("A", "BRG"))
+ vnflst.add(makeVnf("B", ""))
+ vnflst.add(makeVnf("C", ""))
+ vnflst.add(makeVnf("D", "Tunnel XConn"))
when(mex.getVariable(DBGFLAG)).thenReturn("true")
when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request)
when(mex.getVariable("sdncVersion")).thenReturn("myvers")
}
- private VnfResource makeVnf(String id) {
+ private VnfResource makeVnf(String id, String role) {
ModelInfo mod = mock(ModelInfo.class)
VnfResource vnf = mock(VnfResource.class)
when(vnf.toString()).thenReturn("myvnf"+id)
when(vnf.getModelInfo()).thenReturn(mod)
+ when(vnf.getNfRole()).thenReturn(role)
- return vnf
+ return vnf
}
private initValidateVnfCreate(ExecutionEntity mex) {
private initProcessJavaException(ExecutionEntity mex) {
when(mex.getVariable(DBGFLAG)).thenReturn("true")
- }\r
- \r
+ }
+
}