75146e2802ffe57455785734741194a0691d3ba1
[sdc/sdc-workflow-designer.git] /
1 package org.onap.sdc.workflow.services.impl;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.mockito.Mockito.doReturn;
5 import static org.mockito.Mockito.doThrow;
6 import static org.mockito.Mockito.verify;
7
8 import java.util.Arrays;
9 import java.util.Collection;
10 import java.util.List;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.junit.runner.RunWith;
14 import org.mockito.InjectMocks;
15 import org.mockito.Mock;
16 import org.mockito.Spy;
17 import org.mockito.junit.MockitoJUnitRunner;
18 import org.onap.sdc.workflow.services.exceptions.VersionNotFoundException;
19 import org.openecomp.sdc.versioning.VersioningManager;
20 import org.openecomp.sdc.versioning.dao.types.Version;
21 import org.openecomp.sdc.versioning.types.VersionCreationMethod;
22
23 @RunWith(MockitoJUnitRunner.class)
24 public class WorkflowVersionManagerTest {
25
26
27     private static final String ITEM1_ID = "item_id_1";
28     private static final String VERSION1_ID = "version_id_1";
29     private static final String VERSION2_ID = "version_id_2";
30     private List<Version> versionList;
31
32     @Mock
33     private VersioningManager versioningManagerMock;
34
35     @Spy
36     @InjectMocks
37     private WorkflowVersionManagerImpl workflowVersionManager;
38
39     @Before
40     public void setUp(){
41         versionList = Arrays.asList( new Version(VERSION1_ID),new Version(VERSION2_ID));
42     }
43
44
45     @Test(expected = VersionNotFoundException.class)
46     public void shouldThrowExceptionWhenVersionDontExist(){
47         Version nonExistingVersion = new Version(VERSION1_ID);
48         doThrow(new RuntimeException()).when(versioningManagerMock).get(ITEM1_ID, nonExistingVersion);
49         workflowVersionManager.get(ITEM1_ID, nonExistingVersion);
50     }
51
52     @Test
53     public void shouldReturnWorkflowVersionWhenExist(){
54         Version version = new Version(VERSION1_ID);
55         doReturn(version).when(versioningManagerMock).get(ITEM1_ID,version);
56         workflowVersionManager.get(ITEM1_ID,version);
57         verify(versioningManagerMock).get(ITEM1_ID,version);
58     }
59
60     @Test
61     public void shouldReturnWorkflowVersionList(){
62         doReturn(versionList).when(versioningManagerMock).list(ITEM1_ID);
63         Collection<Version> result = workflowVersionManager.list(ITEM1_ID);
64         verify(versioningManagerMock).list(ITEM1_ID);
65         assertEquals(versionList,result);
66     }
67
68     @Test
69     public void shouldUpdateWorkflowVersion(){
70         Version version = new Version(VERSION1_ID);
71         workflowVersionManager.update(ITEM1_ID,version);
72         verify(versioningManagerMock).updateVersion(ITEM1_ID,version);
73     }
74
75     @Test
76     public void shouldCreateWorkflowVersion(){
77         Version version = new Version();
78         workflowVersionManager.create(ITEM1_ID,version);
79         verify(versioningManagerMock).create(ITEM1_ID,version, VersionCreationMethod.major);
80         verify(workflowVersionManager).getLatestVersion(ITEM1_ID);
81     }
82
83
84
85 }