diff options
author | 2018-06-27 12:41:14 +0300 | |
---|---|---|
committer | 2018-06-27 14:37:16 +0300 | |
commit | 2dc593aabe936a21783d7d4e6b7475cab59be6a9 (patch) | |
tree | e4cea88a5b3a1b55ee5af52122f9b669589b326d /workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl | |
parent | e9d97234f17d8ecdbfc0481d6a2ba2698d52ddd0 (diff) |
Service layer unit tests
Change-Id: Ia1c87e81feab7b918a7af52ee1f52914e253dc09
Issue-ID: SDC-1445
Signed-off-by: ayalaben <ayala.benzvi@amdocs.com>
Diffstat (limited to 'workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl')
2 files changed, 207 insertions, 0 deletions
diff --git a/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowManagerTest.java b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowManagerTest.java new file mode 100644 index 00000000..31da825a --- /dev/null +++ b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowManagerTest.java @@ -0,0 +1,122 @@ +package org.onap.sdc.workflow.services.impl; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.onap.sdc.workflow.TestUtil.createItem; +import static org.onap.sdc.workflow.TestUtil.createWorkflow; + +import java.util.Arrays; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.onap.sdc.workflow.persistence.types.Workflow; +import org.onap.sdc.workflow.services.UniqueValueService; +import org.onap.sdc.workflow.services.exceptions.WorkflowNotFoundException; +import org.onap.sdc.workflow.services.mappers.WorkflowMapper; +import org.openecomp.sdc.versioning.ItemManager; +import org.openecomp.sdc.versioning.types.Item; +import org.openecomp.sdc.versioning.types.ItemStatus; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +public class WorkflowManagerTest { + + private static final String ITEM1_ID = "workflowId1"; + private static final String ITEM2_ID = "workflowId2"; + private static final String WORKFLOW_TYPE = "WORKFLOW"; + private static final String WORKFLOW_NAME_UNIQUE_TYPE = "WORKFLOW_NAME"; + private List<Item> itemList; + + @Mock + WorkflowMapper workflowMapperMock; + + @Mock + private ItemManager itemManagerMock; + + @Mock + private UniqueValueService uniqueValueServiceMock; + + @InjectMocks + private WorkflowManagerImpl workflowManager; + + + + @Before + public void setUp(){ + itemList = Arrays.asList(createItem(1,true,true), + createItem(2,true,true),createItem(3,true,true)); + + } + + + @Test + public void shouldReturnWorkflowVersionList(){ + + doReturn(itemList).when(itemManagerMock).list(workflowManager.ITEM_PREDICATE); + workflowManager.list(); + verify(itemManagerMock).list(workflowManager.ITEM_PREDICATE); + } + + @Test(expected = WorkflowNotFoundException.class) + public void shouldThrowExceptionWhenWorkflowDontExist(){ + Workflow nonExistingWorkflow = new Workflow(); + nonExistingWorkflow.setId(ITEM1_ID); + doReturn(null).when(itemManagerMock).get(ITEM1_ID); + workflowManager.get(nonExistingWorkflow); + verify(workflowMapperMock,times(3)).itemToWorkflow(any(Item.class)); + } + + @Test + public void shouldReturnWorkflow(){ + Item retrievedItem = createItem(1,true,true); + doReturn(retrievedItem).when(itemManagerMock).get(ITEM1_ID); + Workflow workflow = createWorkflow(1,true); + workflowManager.get(workflow); + verify(itemManagerMock).get(ITEM1_ID); + verify(workflowMapperMock).itemToWorkflow(retrievedItem); + + + } + + @Test + public void shouldCreateWorkflow() { + Workflow workflowToBeCreated = createWorkflow(1, false); + Item createdWorkflowItem = createItem(1, false, true); + doReturn(createdWorkflowItem).when(workflowMapperMock).workflowToItem(workflowToBeCreated); + doReturn(createdWorkflowItem).when(itemManagerMock).create(createdWorkflowItem); + workflowManager.create(workflowToBeCreated); + verify(uniqueValueServiceMock) + .validateUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, new String[] {workflowToBeCreated.getName()}); + + createdWorkflowItem.setStatus(ItemStatus.ACTIVE); + createdWorkflowItem.setType(WORKFLOW_TYPE); + verify(itemManagerMock).create(createdWorkflowItem); + verify(uniqueValueServiceMock) + .createUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, new String[] {workflowToBeCreated.getName()}); + } + + @Test + public void shouldUpdateWorkflow(){ + Item workflowItem = createItem(1, true, true); + doReturn(workflowItem).when(itemManagerMock).get(ITEM1_ID); + Workflow workflowToBeUpdated = createWorkflow(1, true); + doReturn(workflowItem).when(workflowMapperMock).workflowToItem(workflowToBeUpdated); + workflowManager.update(workflowToBeUpdated); + verify(itemManagerMock).update(workflowItem); + verify(uniqueValueServiceMock) + .updateUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE,workflowItem.getName(),workflowToBeUpdated.getName()); + + } + + @Test(expected = WorkflowNotFoundException.class) + public void shouldThrowExceptionWhenWorkflowToUpdateNotFound(){ + doReturn(null).when(itemManagerMock).get(ITEM1_ID); + workflowManager.update(createWorkflow(1, true)); + } + +} diff --git a/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerTest.java b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerTest.java new file mode 100644 index 00000000..d805a2b2 --- /dev/null +++ b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerTest.java @@ -0,0 +1,85 @@ +package org.onap.sdc.workflow.services.impl; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.verify; + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import org.junit.Before; +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.onap.sdc.workflow.services.exceptions.VersionNotFoundException; +import org.openecomp.sdc.versioning.VersioningManager; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdc.versioning.types.VersionCreationMethod; + +@RunWith(MockitoJUnitRunner.class) +public class WorkflowVersionManagerTest { + + + private static final String ITEM1_ID = "item_id_1"; + private static final String VERSION1_ID = "version_id_1"; + private static final String VERSION2_ID = "version_id_2"; + private List<Version> versionList; + + @Mock + private VersioningManager versioningManagerMock; + + @Spy + @InjectMocks + private WorkflowVersionManagerImpl workflowVersionManager; + + @Before + public void setUp(){ + versionList = Arrays.asList( new Version(VERSION1_ID),new Version(VERSION2_ID)); + } + + + @Test(expected = VersionNotFoundException.class) + public void shouldThrowExceptionWhenVersionDontExist(){ + Version nonExistingVersion = new Version(VERSION1_ID); + doThrow(new RuntimeException()).when(versioningManagerMock).get(ITEM1_ID, nonExistingVersion); + workflowVersionManager.get(ITEM1_ID, nonExistingVersion); + } + + @Test + public void shouldReturnWorkflowVersion(){ + Version version = new Version(VERSION1_ID); + doReturn(version).when(versioningManagerMock).get(ITEM1_ID,version); + workflowVersionManager.get(ITEM1_ID,version); + verify(versioningManagerMock).get(ITEM1_ID,version); + } + + @Test + public void shouldReturnWorkflowVersionList(){ + doReturn(versionList).when(versioningManagerMock).list(ITEM1_ID); + Collection<Version> result = workflowVersionManager.list(ITEM1_ID); + verify(versioningManagerMock).list(ITEM1_ID); + assertEquals(versionList,result); + } + + @Test + public void shouldUpdateWorkflowVersion(){ + Version version = new Version(VERSION1_ID); + workflowVersionManager.update(ITEM1_ID,version); + verify(versioningManagerMock).updateVersion(ITEM1_ID,version); + } + + @Test + public void shouldCreateWorkflowVersion(){ + Version version = new Version(); + workflowVersionManager.create(ITEM1_ID,version); + verify(versioningManagerMock).create(ITEM1_ID,version, VersionCreationMethod.major); + verify(workflowVersionManager).getLatestVersion(ITEM1_ID); + } + + + +} |