1 package org.openecomp.sdc.be.model.cache.jobs;
4 import mockit.Deencapsulation;
5 import org.apache.commons.lang3.tuple.ImmutablePair;
6 import org.junit.Before;
8 import org.mockito.Mock;
9 import org.mockito.Mockito;
10 import org.mockito.MockitoAnnotations;
11 import org.openecomp.sdc.be.dao.api.ActionStatus;
12 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
13 import org.openecomp.sdc.be.model.Component;
14 import org.openecomp.sdc.be.model.Resource;
15 import org.openecomp.sdc.be.model.cache.ComponentCache;
16 import org.openecomp.sdc.be.model.cache.DaoInfo;
17 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
18 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
19 import org.openecomp.sdc.be.resources.data.ComponentMetadataData;
20 import org.openecomp.sdc.be.resources.data.ResourceMetadataData;
22 import java.util.function.Function;
24 public class CheckAndUpdateJobTest {
26 CheckAndUpdateJob testSubject;
32 public void setUp() throws Exception {
33 MockitoAnnotations.initMocks(this);
35 testSubject = new CheckAndUpdateJob(daoInfo, "mock", NodeTypeEnum.Resource, 0L);
39 public void testDoWorkException() throws Exception {
43 ToscaOperationFacade answer = Mockito.mock(ToscaOperationFacade.class);
44 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer);
46 result = testSubject.doWork();
50 public void testDoWorkFalse() throws Exception {
54 ComponentCache answer = Mockito.mock(ComponentCache.class);
55 Mockito.when(answer.getComponentAndTime(Mockito.anyString(), Mockito.any(Function.class)))
56 .thenReturn(Either.right(ActionStatus.ACCEPTED));
57 Mockito.when(daoInfo.getComponentCache()).thenReturn(answer);
58 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
59 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
61 result = testSubject.doWork();
65 public void testDoWorkResourceNotFound() throws Exception {
69 ComponentCache answer = Mockito.mock(ComponentCache.class);
70 Either<ImmutablePair<Component, Long>, ActionStatus> value;
71 Mockito.when(answer.getComponentAndTime(Mockito.anyString(), Mockito.any(Function.class)))
72 .thenReturn(Either.right(ActionStatus.RESOURCE_NOT_FOUND));
73 Mockito.when(daoInfo.getComponentCache()).thenReturn(answer);
74 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
75 Mockito.when(answer1.getComponentMetadata(Mockito.anyString()))
76 .thenReturn(Either.right(StorageOperationStatus.ARTIFACT_NOT_FOUND));
77 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
79 result = testSubject.doWork();
83 public void testDoWork() throws Exception {
87 ComponentCache answer = Mockito.mock(ComponentCache.class);
88 ImmutablePair<Component, Long> value = ImmutablePair.of(new Resource(), 0L);
89 Mockito.when(answer.getComponentAndTime(Mockito.anyString(), Mockito.any(Function.class)))
90 .thenReturn(Either.left(value));
91 Mockito.when(daoInfo.getComponentCache()).thenReturn(answer);
92 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
93 Mockito.when(answer1.getComponentMetadata(Mockito.anyString()))
94 .thenReturn(Either.right(StorageOperationStatus.ARTIFACT_NOT_FOUND));
95 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
97 result = testSubject.doWork();
101 public void testDoWork1() throws Exception {
105 ComponentCache answer = Mockito.mock(ComponentCache.class);
106 ImmutablePair<Component, Long> value = ImmutablePair.of(new Resource(), 1L);
107 Mockito.when(answer.getComponentAndTime(Mockito.anyString(), Mockito.any(Function.class)))
108 .thenReturn(Either.left(value));
109 Mockito.when(daoInfo.getComponentCache()).thenReturn(answer);
110 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
111 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
113 result = testSubject.doWork();
117 public void testUpdateCache() throws Exception {
118 String componentId = "mock";
119 NodeTypeEnum nodeTypeEnum = null;
120 Long timestamp = null;
124 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
125 ComponentMetadataData a = new ResourceMetadataData();
126 a.getMetadataDataDefinition().setLastUpdateDate(0L);
127 Mockito.when(answer1.getComponentMetadata(Mockito.anyString()))
128 .thenReturn(Either.left(a));
129 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
131 Mockito.when(answer1.getToscaElement(Mockito.anyString())).thenReturn(Either.left(new Resource()));
132 ComponentCache compCache = Mockito.mock(ComponentCache.class);
133 Mockito.when(compCache.setComponent(Mockito.any(), Mockito.any())).thenReturn(true);
134 Mockito.when(daoInfo.getComponentCache()).thenReturn(compCache);
136 result = Deencapsulation.invoke(testSubject, "updateCache", componentId, NodeTypeEnum.Resource, 0L);
140 public void testUpdateCacheFailedToUpdateCache() throws Exception {
141 String componentId = "mock";
142 NodeTypeEnum nodeTypeEnum = null;
143 Long timestamp = null;
147 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
148 ComponentMetadataData a = new ResourceMetadataData();
149 a.getMetadataDataDefinition().setLastUpdateDate(0L);
150 Mockito.when(answer1.getComponentMetadata(Mockito.anyString()))
151 .thenReturn(Either.left(a));
152 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
154 Mockito.when(answer1.getToscaElement(Mockito.anyString())).thenReturn(Either.left(new Resource()));
155 ComponentCache compCache = Mockito.mock(ComponentCache.class);
156 Mockito.when(daoInfo.getComponentCache()).thenReturn(compCache);
158 result = Deencapsulation.invoke(testSubject, "updateCache", componentId, NodeTypeEnum.Resource, 0L);
162 public void testUpdateCacheToscaElemntNotFound() throws Exception {
163 String componentId = "mock";
164 NodeTypeEnum nodeTypeEnum = null;
165 Long timestamp = null;
169 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
170 ComponentMetadataData a = new ResourceMetadataData();
171 a.getMetadataDataDefinition().setLastUpdateDate(0L);
172 Mockito.when(answer1.getComponentMetadata(Mockito.anyString()))
173 .thenReturn(Either.left(a));
174 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
176 Mockito.when(answer1.getToscaElement(Mockito.anyString())).thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
178 result = Deencapsulation.invoke(testSubject, "updateCache", componentId, NodeTypeEnum.Resource, 0L);
182 public void testUpdateCacheNotUpdatedTimestamp() throws Exception {
183 String componentId = "mock";
184 NodeTypeEnum nodeTypeEnum = null;
185 Long timestamp = null;
189 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
190 ComponentMetadataData a = new ResourceMetadataData();
191 a.getMetadataDataDefinition().setLastUpdateDate(1L);
192 Mockito.when(answer1.getComponentMetadata(Mockito.anyString()))
193 .thenReturn(Either.left(a));
194 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
196 result = Deencapsulation.invoke(testSubject, "updateCache", componentId, NodeTypeEnum.Resource, 0L);
200 public void testUpdateCacheNotFound() throws Exception {
201 String componentId = "mock";
202 NodeTypeEnum nodeTypeEnum = null;
203 Long timestamp = null;
207 ToscaOperationFacade answer1 = Mockito.mock(ToscaOperationFacade.class);
208 Mockito.when(answer1.getComponentMetadata(Mockito.anyString()))
209 .thenReturn(Either.right(StorageOperationStatus.ARTIFACT_NOT_FOUND));
210 Mockito.when(daoInfo.getToscaOperationFacade()).thenReturn(answer1);
212 result = Deencapsulation.invoke(testSubject, "updateCache", componentId, NodeTypeEnum.Resource, 0L);