re base code
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / common / transaction / impl / ESRollbackHandlerTest.java
1 package org.openecomp.sdc.common.transaction.impl;
2
3 import fj.data.Either;
4 import mockit.Deencapsulation;
5 import org.junit.Before;
6 import org.junit.Test;
7 import org.mockito.InjectMocks;
8 import org.mockito.Mock;
9 import org.mockito.Mockito;
10 import org.mockito.MockitoAnnotations;
11 import org.openecomp.sdc.be.dao.api.ResourceUploadStatus;
12 import org.openecomp.sdc.be.dao.impl.ESCatalogDAO;
13 import org.openecomp.sdc.be.resources.data.ESArtifactData;
14 import org.openecomp.sdc.common.transaction.api.TransactionUtils.DBActionCodeEnum;
15 import org.openecomp.sdc.common.transaction.api.TransactionUtils.DBTypeEnum;
16 import org.openecomp.sdc.common.transaction.api.TransactionUtils.ESActionTypeEnum;
17 import org.openecomp.sdc.common.util.MethodActivationStatusEnum;
18
19 public class ESRollbackHandlerTest {
20
21         @InjectMocks
22         ESRollbackHandler testSubject;
23         @Mock
24         ESCatalogDAO esCatalogDao;
25         
26
27         @Before
28         public void setUp() {
29                 MockitoAnnotations.initMocks(this);
30         }
31
32         private ESRollbackHandler createTestSubject() {
33                 return new ESRollbackHandler(null, "", "");
34         }
35
36         @Test
37         public void testGetDBType() throws Exception {
38                 DBTypeEnum result;
39
40                 // default test
41                 testSubject = createTestSubject();
42                 result = testSubject.getDBType();
43         }
44
45         @Test
46         public void testIsRollbackForPersistenceData() throws Exception {
47                 boolean result;
48
49                 // default test
50                 testSubject = createTestSubject();
51                 result = Deencapsulation.invoke(testSubject, "isRollbackForPersistenceData");
52         }
53
54         @Test
55         public void testIsRollbackResultValid() throws Exception {
56                 boolean result;
57
58                 // default test
59                 testSubject = createTestSubject();
60                 result = testSubject.isRollbackResultValid(DBActionCodeEnum.FAIL_GENERAL);
61                 result = testSubject.isRollbackResultValid(DBActionCodeEnum.SUCCESS);
62         }
63
64         @Test
65         public void testBuildEsRollbackAction() throws Exception {
66                 ESArtifactData artifactData = new ESArtifactData();
67                 artifactData.setId("mock");
68                 Either<ESAction, MethodActivationStatusEnum> result;
69
70                 Either<ESArtifactData, ResourceUploadStatus> value = Either.left(new ESArtifactData());
71                 Mockito.when(esCatalogDao.getArtifact(Mockito.anyString())).thenReturn(value);
72
73                 // default test
74                 for (ESActionTypeEnum iterable_element : ESActionTypeEnum.values()) {
75                         testSubject = createTestSubject();
76                         result = testSubject.buildEsRollbackAction(esCatalogDao, artifactData, iterable_element);
77                 }
78                 result = testSubject.buildEsRollbackAction(esCatalogDao, null, ESActionTypeEnum.ADD_ARTIFACT);
79         }
80         
81         @Test
82         public void testBuildEsRollbackAction2() throws Exception {
83                 ESArtifactData artifactData = new ESArtifactData();
84                 artifactData.setId("mock");
85                 Either<ESAction, MethodActivationStatusEnum> result;
86
87                 Either<ESArtifactData, ResourceUploadStatus> value = Either.right(ResourceUploadStatus.NOT_EXIST);
88                 Mockito.when(esCatalogDao.getArtifact(Mockito.anyString())).thenReturn(value);
89
90                 // default test
91                 for (ESActionTypeEnum iterable_element : ESActionTypeEnum.values()) {
92                         testSubject = createTestSubject();
93                         result = testSubject.buildEsRollbackAction(esCatalogDao, artifactData, iterable_element);
94                 }
95                 result = testSubject.buildEsRollbackAction(esCatalogDao, null, ESActionTypeEnum.ADD_ARTIFACT);
96         }
97 }