diff options
Diffstat (limited to 'bpmn')
9 files changed, 344 insertions, 36 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/InstanceResourceList.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/InstanceResourceList.java index 3a4df68f02..963210b993 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/InstanceResourceList.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/InstanceResourceList.java @@ -109,16 +109,20 @@ public class InstanceResourceList { } // check if the resource contains vf-module - if (vnfResource != null && vnfResource.getVfModules() != null) { + if (isVnfResourceWithVfModule(vnfResource)) { sequencedResourceList.addAll(vnfResource.getVfModules()); } return sequencedResourceList; } + private static boolean isVnfResourceWithVfModule(VnfResource vnfResource) { + return vnfResource != null && vnfResource.getVfModules() != null; + } + private static List<Resource> getGroupResourceInstanceList(VnfResource vnfResource, JsonObject vfObj) { List<Resource> sequencedResourceList = new ArrayList<>(); - if (vnfResource.getGroupOrder() != null && !StringUtils.isEmpty(vnfResource.getGroupOrder())) { + if (isVnfGroupOrderFilled(vnfResource)) { String[] grpSequence = vnfResource.getGroupOrder().split(","); for (String grpType : grpSequence) { for (GroupResource gResource : vnfResource.getGroups()) { @@ -150,4 +154,8 @@ public class InstanceResourceList { } return sequencedResourceList; } + + private static boolean isVnfGroupOrderFilled(VnfResource vnfResource) { + return vnfResource.getGroupOrder() != null && !StringUtils.isEmpty(vnfResource.getGroupOrder()); + } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/InstnaceResourceListTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/InstnaceResourceListTest.java index f3233f2350..19e678d6b7 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/InstnaceResourceListTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/InstnaceResourceListTest.java @@ -8,6 +8,7 @@ import org.onap.so.bpmn.core.domain.Resource; import org.onap.so.bpmn.core.domain.ResourceType; import org.onap.so.bpmn.core.domain.VnfResource; import org.onap.so.bpmn.core.domain.VnfcResource; +import org.onap.so.bpmn.core.domain.ModuleResource; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; @@ -24,7 +25,7 @@ public class InstnaceResourceListTest { String uuiRequest = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "InstanceResourceList" + ".json"))); List<Resource> instanceResourceList = InstanceResourceList.getInstanceResourceList(createResourceSequence(), uuiRequest); - Assert.assertEquals(7, instanceResourceList.size()); + Assert.assertEquals(9, instanceResourceList.size()); Assert.assertEquals(ResourceType.VNF, instanceResourceList.get(0).getResourceType()); Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(1).getResourceType()); Assert.assertEquals("device", instanceResourceList.get(1).getModelInfo().getModelName()); @@ -32,9 +33,12 @@ public class InstnaceResourceListTest { Assert.assertEquals("sitewan", instanceResourceList.get(2).getModelInfo().getModelName()); Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(3).getResourceType()); Assert.assertEquals("sitewan", instanceResourceList.get(3).getModelInfo().getModelName()); - Assert.assertEquals(ResourceType.VNF, instanceResourceList.get(4).getResourceType()); - Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(5).getResourceType()); + Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(4).getResourceType()); + Assert.assertEquals("dummy", instanceResourceList.get(4).getModelInfo().getModelName()); + Assert.assertEquals(ResourceType.VNF, instanceResourceList.get(5).getResourceType()); Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(6).getResourceType()); + Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(7).getResourceType()); + Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(8).getResourceType()); } // Test when PK is empty @@ -48,6 +52,63 @@ public class InstnaceResourceListTest { Assert.assertEquals(ResourceType.VNF, instanceResourceList.get(0).getResourceType()); } + @Test + public void testSimpleVFResourceWithGroup() throws IOException { + String uuiRequest = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "InstanceResourceList" + ".json"))); + VnfResource vnfResource = new VnfResource(); + vnfResource.setResourceInput("{\"a\":\"ipaddress|127.0.0.1\"}"); + + createGroupKeyResource(vnfResource); + + List<Resource> instanceResourceList = InstanceResourceList.getInstanceResourceList(vnfResource, uuiRequest); + Assert.assertEquals(2, instanceResourceList.size()); + Assert.assertEquals(ResourceType.VNF, instanceResourceList.get(0).getResourceType()); + Assert.assertEquals(ResourceType.GROUP, instanceResourceList.get(1).getResourceType()); + Assert.assertEquals("wan", instanceResourceList.get(1).getModelInfo().getModelName()); + } + + @Test + public void testVFResourceWithEmptyGroup() throws IOException { + String uuiRequest = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "InstanceResourceList" + ".json"))); + VnfResource vnfResource = new VnfResource(); + vnfResource.setResourceInput("{\"a\":\"[emptygroup_list2,INDEX,name]\"}"); + + List<Resource> instanceResourceList = InstanceResourceList.getInstanceResourceList(vnfResource, uuiRequest); + Assert.assertEquals(1, instanceResourceList.size()); + Assert.assertEquals(ResourceType.VNF, instanceResourceList.get(0).getResourceType()); + } + + @Test + public void testVFResourceWithModule() throws IOException { + String uuiRequest = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "InstanceResourceList" + ".json"))); + VnfResource vnfResource = new VnfResource(); + vnfResource.setResourceInput("{\"a\":\"ipaddress|127.0.0.1\"}"); + + // Come from package org.onap.so.bpmn.core.domain.VnfResourceTest + List<ModuleResource> moduleResources; + moduleResources = new ArrayList<>(); + ModuleResource moduleresource = getModuleResource(); + moduleResources.add(moduleresource); + vnfResource.setModules(moduleResources); + + List<Resource> instanceResourceList = InstanceResourceList.getInstanceResourceList(vnfResource, uuiRequest); + Assert.assertEquals(2, instanceResourceList.size()); + Assert.assertEquals(ResourceType.VNF, instanceResourceList.get(0).getResourceType()); + Assert.assertEquals(ResourceType.MODULE, instanceResourceList.get(1).getResourceType()); + } + + private ModuleResource getModuleResource() { + ModuleResource moduleresource = new ModuleResource(); + moduleresource.setVfModuleName("vfModuleName"); + moduleresource.setHeatStackId("heatStackId"); + moduleresource.setIsBase(true); + moduleresource.setVfModuleLabel("vfModuleLabel"); + moduleresource.setInitialCount(0); + moduleresource.setVfModuleType("vfModuleType"); + moduleresource.setHasVolumeGroup(true); + return moduleresource; + } + // Test when PK is not empty and PK does not contain any groups @Test public void testVFWithEmptyGroupResource() throws IOException { @@ -66,16 +127,7 @@ public class InstnaceResourceListTest { VnfResource vnfResource = new VnfResource(); vnfResource.setResourceInput("{\"a\":\"[emptygroup_list,INDEX,name]\"}"); - VnfcResource vnfcResource = new VnfcResource(); - vnfcResource.setResourceInput("{\"a\":\"test|default_value\"}"); - GroupResource groupResource = new GroupResource(); - groupResource.setVnfcs(Arrays.asList(vnfcResource)); - ModelInfo wanModel = new ModelInfo(); - wanModel.setModelName("wan"); - groupResource.setModelInfo(wanModel); - - vnfResource.setGroupOrder("wan"); - vnfResource.setGroups(Arrays.asList(groupResource)); + createGroupKeyResource(vnfResource); List<Resource> instanceResourceList = InstanceResourceList.getInstanceResourceList(vnfResource, uuiRequest); Assert.assertEquals(2, instanceResourceList.size()); @@ -84,29 +136,34 @@ public class InstnaceResourceListTest { Assert.assertEquals("wan", instanceResourceList.get(1).getModelInfo().getModelName()); } + private void createGroupKeyResource(VnfResource vnfResource) { + GroupResource groupResource = prepareGroupResource("{\"a\":\"test|default_value\"}", "wan"); + + vnfResource.setGroupOrder("wan"); + vnfResource.setGroups(Arrays.asList(groupResource)); + } + private VnfResource createResourceSequence() { VnfResource vnfResource = new VnfResource(); vnfResource.setResourceInput("{\"a\":\"[sdwansiteresource_list,INDEX,sdwansiteresource_list]\"}"); - VnfcResource vnfcResource = new VnfcResource(); - vnfcResource.setResourceInput("{\"a\":\"[sdwansitewan_list,INDEX,test]\"}"); + GroupResource groupResource = prepareGroupResource("{\"a\":\"[sdwansitewan_list,INDEX,test]\"}", "sitewan"); + GroupResource groupResource2 = prepareGroupResource("{\"a\":\"[sdwandevice_list,INDEX,test]\"}", "device"); + GroupResource groupDummyResource = prepareGroupResource("{\"a\":\"[dummy,INDEX,test]\"}", "dummy"); - GroupResource groupResource = new GroupResource(); - groupResource.setVnfcs(Arrays.asList(vnfcResource)); - ModelInfo wanModel = new ModelInfo(); - wanModel.setModelName("sitewan"); - groupResource.setModelInfo(wanModel); + vnfResource.setGroupOrder("device,sitewan,dummy"); + vnfResource.setGroups(Arrays.asList(groupResource, groupResource2, groupDummyResource)); + return vnfResource; + } + private GroupResource prepareGroupResource(String sourceInput, String modelName) { VnfcResource vnfcDeviceResource = new VnfcResource(); - vnfcDeviceResource.setResourceInput("{\"a\":\"[sdwandevice_list,INDEX,test]\"}"); - GroupResource groupResource2 = new GroupResource(); - groupResource2.setVnfcs(Arrays.asList(vnfcDeviceResource)); + vnfcDeviceResource.setResourceInput(sourceInput); + GroupResource groupResource = new GroupResource(); + groupResource.setVnfcs(Arrays.asList(vnfcDeviceResource)); ModelInfo deviceModel = new ModelInfo(); - deviceModel.setModelName("device"); - groupResource2.setModelInfo(deviceModel); - - vnfResource.setGroupOrder("device,sitewan"); - vnfResource.setGroups(Arrays.asList(groupResource, groupResource2)); - return vnfResource; + deviceModel.setModelName(modelName); + groupResource.setModelInfo(deviceModel); + return groupResource; } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/avpn/dmaap/beans/AVPNDmaapBeansTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/avpn/dmaap/beans/AVPNDmaapBeansTest.java index cb0d31b8ff..61a006f3f0 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/avpn/dmaap/beans/AVPNDmaapBeansTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/avpn/dmaap/beans/AVPNDmaapBeansTest.java @@ -45,6 +45,7 @@ public class AVPNDmaapBeansTest extends BaseTest { public void ensureExpectedPojoCount() { List<PojoClass> pojoClasses = PojoClassFactory.getPojoClasses(POJO_PACKAGE, new FilterPackageInfo()); Affirm.affirmEquals("Classes added / removed?", EXPECTED_CLASS_COUNT, pojoClasses.size()); + assertNotNull(pojoClasses); } @Test diff --git a/bpmn/MSOCommonBPMN/src/test/resources/__files/InstanceResourceList/InstanceResourceList.json b/bpmn/MSOCommonBPMN/src/test/resources/__files/InstanceResourceList/InstanceResourceList.json index a111ae2646..cf0f2d1933 100644 --- a/bpmn/MSOCommonBPMN/src/test/resources/__files/InstanceResourceList/InstanceResourceList.json +++ b/bpmn/MSOCommonBPMN/src/test/resources/__files/InstanceResourceList/InstanceResourceList.json @@ -80,6 +80,9 @@ "portNumer":"0/0/1" } ], + "emptygroup_list2": [ + + ], "sdwanvpnresource_list":[ { "sdwanvpn_topology":"hub_spoke", @@ -155,7 +158,8 @@ "class":"VNF", "systemIp":"20.20.20.1" } - ] + ], + "dummy":"" }, { "sdwansite_emails":"chenchuanyu@huawei.com", @@ -192,7 +196,8 @@ "class":"PNF", "systemIp":"20.20.20.2" } - ] + ], + "dummy":"" } ] } diff --git a/bpmn/mso-infrastructure-bpmn/pom.xml b/bpmn/mso-infrastructure-bpmn/pom.xml index a3d0dd50b3..7d88271343 100644 --- a/bpmn/mso-infrastructure-bpmn/pom.xml +++ b/bpmn/mso-infrastructure-bpmn/pom.xml @@ -131,9 +131,7 @@ </execution> <execution> <id>original</id> - <configuration> - <skip>false</skip> - </configuration> + <phase>package</phase> </execution> </executions> </plugin> @@ -158,6 +156,9 @@ <executions> <execution> <id>extract-docker-file</id> + <configuration> + <skip>false</skip> + </configuration> </execution> </executions> </plugin> diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/AutoProcessInstanceMigrationService.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/AutoProcessInstanceMigrationService.java new file mode 100644 index 0000000000..fd7498f468 --- /dev/null +++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/AutoProcessInstanceMigrationService.java @@ -0,0 +1,110 @@ +package org.onap.so.bpmn.common.workflow.service; + +import java.util.ArrayList; +import java.util.List; +import org.camunda.bpm.engine.ProcessEngine; +import org.camunda.bpm.engine.RepositoryService; +import org.camunda.bpm.engine.RuntimeService; +import org.camunda.bpm.engine.migration.MigrationInstruction; +import org.camunda.bpm.engine.migration.MigrationPlan; +import org.camunda.bpm.engine.migration.MigrationPlanExecutionBuilder; +import org.camunda.bpm.engine.repository.ProcessDefinition; +import org.camunda.bpm.engine.runtime.ProcessInstance; +import org.camunda.bpm.engine.runtime.ProcessInstanceQuery; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Service; + +@Service +public class AutoProcessInstanceMigrationService { + + private static Logger logger = LoggerFactory.getLogger(AutoProcessInstanceMigrationService.class); + + @Autowired + private Environment env; + @Autowired + protected ProcessEngine processEngine; + + @Value("${migration.autoMigrationEnabled:false}") + private boolean autoMigrationEnabled; + + private RuntimeService runtimeService; + private RepositoryService repositoryService; + private List<String> processDefinitionKeys; + + @EventListener(ApplicationReadyEvent.class) + protected void executeAutoProcessInstanceMigrations() { + if (autoMigrationEnabled) { + runtimeService = processEngine.getRuntimeService(); + repositoryService = processEngine.getRepositoryService(); + for (ProcessDefinition definition : getProcessDefinitions()) { + for (ProcessDefinition procDefOld : getOldProcessDefinitions(definition.getKey(), + definition.getVersion())) { + migrate(procDefOld.getId(), definition.getId()); + } + } + } + } + + protected List<ProcessDefinition> getProcessDefinitions() { + List<ProcessDefinition> processDefinitions = new ArrayList<ProcessDefinition>(); + processDefinitionKeys = env.getProperty("migration.processDefinitionKeys", List.class, new ArrayList<String>()); + for (String key : processDefinitionKeys) { + processDefinitions.add(repositoryService.createProcessDefinitionQuery().processDefinitionKey(key) + .latestVersion().singleResult()); + } + return processDefinitions; + } + + private void migrate(String sourceProcessDefinitionId, String targetProcessDefinitionId) { + MigrationPlan migrationPlan = + runtimeService.createMigrationPlan(sourceProcessDefinitionId, targetProcessDefinitionId) + .mapEqualActivities().updateEventTriggers().build(); + List<String> activityIds = new ArrayList<>(); + + for (MigrationInstruction instruction : migrationPlan.getInstructions()) { + activityIds.add(instruction.getSourceActivityId()); + } + for (String activityId : activityIds) { + ProcessInstanceQuery activeProcessInstancesQuery = runtimeService.createProcessInstanceQuery() + .processDefinitionId(sourceProcessDefinitionId).activityIdIn(activityId).active(); + if (!activeProcessInstancesQuery.list().isEmpty()) { + logger.info("Migrating {} process instance(s) from {} to {}", + Long.valueOf(activeProcessInstancesQuery.count()), sourceProcessDefinitionId, + targetProcessDefinitionId); + MigrationPlanExecutionBuilder migration = + runtimeService.newMigration(migrationPlan).processInstanceQuery(activeProcessInstancesQuery); + migration.executeAsync(); + } + } + suspendEmptyProcessDefinition(sourceProcessDefinitionId); + } + + private void suspendEmptyProcessDefinition(String sourceProcessDefinitionId) { + List<ProcessInstance> activeProcessInstances = runtimeService.createProcessInstanceQuery() + .processDefinitionId(sourceProcessDefinitionId).active().list(); + if (activeProcessInstances.isEmpty()) { + repositoryService.suspendProcessDefinitionById(sourceProcessDefinitionId); + } else { + logger.info("Unable to migrate {} process instance(s) from {}", + Integer.valueOf(activeProcessInstances.size()), sourceProcessDefinitionId); + } + } + + protected List<ProcessDefinition> getOldProcessDefinitions(String key, int version) { + List<ProcessDefinition> processDefinitions = + repositoryService.createProcessDefinitionQuery().processDefinitionKey(key).list(); + List<ProcessDefinition> oldProcessDefinitions = new ArrayList<>(); + for (ProcessDefinition processDef : processDefinitions) { + if (!processDef.isSuspended() && (processDef.getVersion() != version)) { + oldProcessDefinitions.add(processDef); + } + } + return oldProcessDefinitions; + } +} diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java index c128f58103..089d034efc 100644 --- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java +++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java @@ -20,6 +20,7 @@ package org.onap.so.bpmn.common; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.onap.so.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogDataByModelUuid; @@ -530,6 +531,7 @@ public class OofHomingIT extends BaseIntegrationTest { .contains("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback " + "Response contains error: Unable to find any candidate for demand *** Response:"); assert (errorMatch); + assertNotNull(businessKey); } @Test diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/AutoProcessInstanceMigrationServiceTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/AutoProcessInstanceMigrationServiceTest.java new file mode 100644 index 0000000000..77b3535ce1 --- /dev/null +++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/AutoProcessInstanceMigrationServiceTest.java @@ -0,0 +1,123 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2020 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.so.bpmn.common.workflow.service; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doReturn; +import java.util.ArrayList; +import java.util.List; +import org.camunda.bpm.engine.ProcessEngine; +import org.camunda.bpm.engine.RepositoryService; +import org.camunda.bpm.engine.repository.ProcessDefinition; +import org.camunda.bpm.engine.repository.ProcessDefinitionQuery; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Spy; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.core.env.Environment; + +@RunWith(MockitoJUnitRunner.class) +public class AutoProcessInstanceMigrationServiceTest { + + @Mock + private ProcessEngine processEngine; + + @Mock + private ProcessDefinition outdated; + + @Mock + private ProcessDefinition newDef; + + @Mock + private ProcessDefinition key; + + @Mock + private ProcessDefinition testKey; + + @Mock + private ProcessDefinition suspendedDef; + + @Mock + private RepositoryService repositoryService; + + @Mock + private ProcessDefinitionQuery query; + + @Mock + private ProcessDefinitionQuery keyQuery; + + @Mock + private Environment env; + + @Spy + @InjectMocks + private AutoProcessInstanceMigrationService migrationService; + + + @Test + public void getOldProcessDefinitionsTest() { + List<ProcessDefinition> expectedList = new ArrayList<>(); + expectedList.add(outdated); + + List<ProcessDefinition> defList = new ArrayList<>(); + defList.add(outdated); + defList.add(newDef); + defList.add(suspendedDef); + + doReturn(query).when(repositoryService).createProcessDefinitionQuery(); + doReturn(query).when(query).processDefinitionKey("test"); + doReturn(defList).when(query).list(); + doReturn(3).when(outdated).getVersion(); + doReturn(4).when(newDef).getVersion(); + doReturn(true).when(suspendedDef).isSuspended(); + List<ProcessDefinition> outdatedList = migrationService.getOldProcessDefinitions("test", 4); + + assertEquals(expectedList, outdatedList); + } + + @Test + public void getProcessDefinitionsTest() { + List<ProcessDefinition> expected = new ArrayList<ProcessDefinition>(); + expected.add(testKey); + expected.add(key); + + List<String> processDefinitionKeys = new ArrayList<String>(); + processDefinitionKeys.add("testKey"); + processDefinitionKeys.add("key"); + + doReturn(processDefinitionKeys).when(env).getProperty("migration.processDefinitionKeys", List.class, + new ArrayList<String>()); + + doReturn(query).when(repositoryService).createProcessDefinitionQuery(); + doReturn(query).when(query).processDefinitionKey("testKey"); + doReturn(query).when(query).latestVersion(); + doReturn(testKey).when(query).singleResult(); + + doReturn(keyQuery).when(query).processDefinitionKey("key"); + doReturn(keyQuery).when(keyQuery).latestVersion(); + doReturn(key).when(keyQuery).singleResult(); + + List<ProcessDefinition> actualProcessDefinitions = migrationService.getProcessDefinitions(); + + assertEquals(expected, actualProcessDefinitions); + } +} diff --git a/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/activity/DeployActivitySpecsTest.java b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/activity/DeployActivitySpecsTest.java index 64c0e54a10..27ae7ba050 100644 --- a/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/activity/DeployActivitySpecsTest.java +++ b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/activity/DeployActivitySpecsTest.java @@ -49,6 +49,7 @@ public class DeployActivitySpecsTest extends BaseBPMNTest { when(clientMock.execute(any(HttpPost.class))).thenReturn(response); String[] args = new String[] {HOSTNAME}; DeployActivitySpecs.main(args); + assertNotNull(HOSTNAME); } @Test |