1 package org.openecomp.sdc.be.dao.cassandra;
3 import com.datastax.driver.core.Session;
4 import com.datastax.driver.mapping.MappingManager;
5 import com.datastax.driver.mapping.Result;
7 import org.apache.commons.lang3.tuple.ImmutablePair;
8 import org.junit.Before;
10 import org.mockito.InjectMocks;
11 import org.mockito.Mock;
12 import org.mockito.Mockito;
13 import org.mockito.MockitoAnnotations;
14 import org.openecomp.sdc.be.dao.api.ActionStatus;
15 import org.openecomp.sdc.be.resources.data.ComponentCacheData;
19 import static org.junit.Assert.assertTrue;
21 public class ComponentCassandraDaoTest {
24 ComponentCassandraDao testSubject;
27 CassandraClient clientMock;
30 public void setUp() throws Exception {
31 MockitoAnnotations.initMocks(this);
35 public void testInit() throws Exception {
40 Mockito.when(clientMock.isConnected()).thenReturn(true);
41 Session sessMock = Mockito.mock(Session.class);
42 MappingManager mappMock = Mockito.mock(MappingManager.class);
43 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
44 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
45 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
50 public void testInitException() throws Exception {
55 Mockito.when(clientMock.isConnected()).thenReturn(true);
56 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either
57 .right(CassandraOperationStatus.CLUSTER_NOT_CONNECTED);
58 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
61 } catch (Exception e) {
62 assertTrue(e.getClass() == RuntimeException.class);
67 public void testGetComponents() throws Exception {
69 Either<List<ComponentCacheData>, ActionStatus> result;
73 result = testSubject.getComponents(ids);
77 ids = new LinkedList<>();
78 result = testSubject.getComponents(ids);
80 Session sessMock = Mockito.mock(Session.class);
81 MappingManager mappMock = Mockito.mock(MappingManager.class);
82 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
83 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
85 Mockito.when(clientMock.isConnected()).thenReturn(true);
86 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
87 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
88 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
90 Result<ComponentCacheData> value2 = Mockito.mock(Result.class);
91 Mockito.when(componentCacheAccessorMock.getComponents(Mockito.any())).thenReturn(value2);
92 List<ComponentCacheData> value3 = new LinkedList<>();
93 value3.add(new ComponentCacheData("mock"));
94 Mockito.when(value2.all()).thenReturn(value3);
98 testSubject.getComponents(ids);
102 public void testGetComponentsNull() throws Exception {
103 List<String> ids = new LinkedList<>();
104 Either<List<ComponentCacheData>, ActionStatus> result;
106 Session sessMock = Mockito.mock(Session.class);
107 MappingManager mappMock = Mockito.mock(MappingManager.class);
108 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
109 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
111 Mockito.when(clientMock.isConnected()).thenReturn(true);
112 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
113 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
114 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
116 Mockito.when(componentCacheAccessorMock.getComponents(Mockito.any())).thenReturn(null);
120 testSubject.getComponents(ids);
124 public void testGetComponentsException() throws Exception {
125 List<String> ids = new LinkedList<>();
126 Either<List<ComponentCacheData>, ActionStatus> result;
128 Session sessMock = Mockito.mock(Session.class);
129 MappingManager mappMock = Mockito.mock(MappingManager.class);
130 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
131 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
133 Mockito.when(clientMock.isConnected()).thenReturn(true);
134 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
135 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
136 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
138 Mockito.when(componentCacheAccessorMock.getComponents(Mockito.any())).thenThrow(RuntimeException.class);
142 testSubject.getComponents(ids);
146 public void testGetAllComponentIdTimeAndType() throws Exception {
147 Either<List<ComponentCacheData>, ActionStatus> result;
150 result = testSubject.getAllComponentIdTimeAndType();
152 Session sessMock = Mockito.mock(Session.class);
153 MappingManager mappMock = Mockito.mock(MappingManager.class);
154 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
155 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
157 Mockito.when(clientMock.isConnected()).thenReturn(true);
158 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
159 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
160 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
162 Result<ComponentCacheData> value2 = Mockito.mock(Result.class);
163 Mockito.when(componentCacheAccessorMock.getAllComponentIdTimeAndType()).thenReturn(value2);
164 List<ComponentCacheData> value3 = new LinkedList<>();
165 value3.add(new ComponentCacheData("mock"));
166 Mockito.when(value2.all()).thenReturn(value3);
169 testSubject.getAllComponentIdTimeAndType();
173 public void testGetAllComponentIdTimeAndTypeNull() throws Exception {
174 Either<List<ComponentCacheData>, ActionStatus> result;
177 result = testSubject.getAllComponentIdTimeAndType();
179 Session sessMock = Mockito.mock(Session.class);
180 MappingManager mappMock = Mockito.mock(MappingManager.class);
181 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
182 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
184 Mockito.when(clientMock.isConnected()).thenReturn(true);
185 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
186 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
187 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
189 Mockito.when(componentCacheAccessorMock.getAllComponentIdTimeAndType()).thenReturn(null);
192 result = testSubject.getAllComponentIdTimeAndType();
196 public void testGetComponent() throws Exception {
198 Either<ComponentCacheData, ActionStatus> result;
202 result = testSubject.getComponent(id);
203 //Assert.assertEquals(null, result);
207 result = testSubject.getComponent(id);
208 //Assert.assertEquals(null, result);
210 Session sessMock = Mockito.mock(Session.class);
211 MappingManager mappMock = Mockito.mock(MappingManager.class);
212 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
213 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
215 Mockito.when(clientMock.isConnected()).thenReturn(true);
216 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
217 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
218 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
220 Result<ComponentCacheData> value2 = Mockito.mock(Result.class);
221 Mockito.when(componentCacheAccessorMock.getComponent(Mockito.any())).thenReturn(value2);
222 ComponentCacheData value3 = new ComponentCacheData();
223 Mockito.when(value2.one()).thenReturn(value3);
226 result = testSubject.getComponent(id);
230 public void testGetComponentNull1() throws Exception {
232 Either<ComponentCacheData, ActionStatus> result;
234 Session sessMock = Mockito.mock(Session.class);
235 MappingManager mappMock = Mockito.mock(MappingManager.class);
236 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
237 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
239 Mockito.when(clientMock.isConnected()).thenReturn(true);
240 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
241 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
242 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
244 Mockito.when(componentCacheAccessorMock.getComponent(Mockito.any())).thenReturn(null);
247 result = testSubject.getComponent(id);
251 public void testGetComponentNull2() throws Exception {
253 Either<ComponentCacheData, ActionStatus> result;
257 result = testSubject.getComponent(id);
258 //Assert.assertEquals(null, result);
262 result = testSubject.getComponent(id);
263 //Assert.assertEquals(null, result);
265 Session sessMock = Mockito.mock(Session.class);
266 MappingManager mappMock = Mockito.mock(MappingManager.class);
267 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
268 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
270 Mockito.when(clientMock.isConnected()).thenReturn(true);
271 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
272 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
273 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
275 Result<ComponentCacheData> value2 = Mockito.mock(Result.class);
276 Mockito.when(componentCacheAccessorMock.getComponent(Mockito.any())).thenReturn(value2);
277 Mockito.when(value2.one()).thenReturn(null);
280 result = testSubject.getComponent(id);
284 public void testSaveComponent() throws Exception {
285 ComponentCacheData componentCacheData = null;
286 CassandraOperationStatus result;
289 result = testSubject.saveComponent(componentCacheData);
293 public void testIsTableEmpty() throws Exception {
294 String tableName = "";
295 Either<Boolean, CassandraOperationStatus> result;
298 result = testSubject.isTableEmpty(tableName);
302 public void testGetComponents_1() throws Exception {
303 Map<String, Long> idToTimestampMap = null;
304 Either<ImmutablePair<List<ComponentCacheData>, Set<String>>, ActionStatus> result;
307 idToTimestampMap = null;
308 result = testSubject.getComponents(idToTimestampMap);
309 //Assert.assertEquals(null, result);
311 Session sessMock = Mockito.mock(Session.class);
312 MappingManager mappMock = Mockito.mock(MappingManager.class);
313 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
314 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
316 Mockito.when(clientMock.isConnected()).thenReturn(true);
317 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
318 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
319 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
321 Result<ComponentCacheData> value2 = Mockito.mock(Result.class);
322 Mockito.when(componentCacheAccessorMock.getComponents(Mockito.any(List.class))).thenReturn(value2);
323 List<ComponentCacheData> value3 = new LinkedList<>();
324 ComponentCacheData e = new ComponentCacheData("mock");
325 Mockito.when(value2.all()).thenReturn(value3);
328 idToTimestampMap = new HashMap<>();
329 idToTimestampMap.put("mock", 0L);
330 e.setModificationTime(new Date());
332 result = testSubject.getComponents(idToTimestampMap);
336 public void testGetComponents_1Null() throws Exception {
337 Map<String, Long> idToTimestampMap = null;
338 Either<ImmutablePair<List<ComponentCacheData>, Set<String>>, ActionStatus> result;
340 Session sessMock = Mockito.mock(Session.class);
341 MappingManager mappMock = Mockito.mock(MappingManager.class);
342 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
343 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
345 Mockito.when(clientMock.isConnected()).thenReturn(true);
346 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
347 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
348 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
350 Mockito.when(componentCacheAccessorMock.getComponents(Mockito.any(List.class))).thenReturn(null);
353 idToTimestampMap = new HashMap<>();
354 idToTimestampMap.put("mock", 0L);
355 result = testSubject.getComponents(idToTimestampMap);
359 public void testGetComponents_1Exception() throws Exception {
360 Map<String, Long> idToTimestampMap = null;
361 Either<ImmutablePair<List<ComponentCacheData>, Set<String>>, ActionStatus> result;
363 Session sessMock = Mockito.mock(Session.class);
364 MappingManager mappMock = Mockito.mock(MappingManager.class);
365 ComponentCacheAccessor componentCacheAccessorMock = Mockito.mock(ComponentCacheAccessor.class);
366 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
368 Mockito.when(clientMock.isConnected()).thenReturn(true);
369 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
370 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
371 Mockito.when(mappMock.createAccessor(ComponentCacheAccessor.class)).thenReturn(componentCacheAccessorMock);
373 Mockito.when(componentCacheAccessorMock.getComponents(Mockito.any(List.class))).thenThrow(RuntimeException.class);
376 idToTimestampMap = new HashMap<>();
377 idToTimestampMap.put("mock", 0L);
378 result = testSubject.getComponents(idToTimestampMap);
382 public void testDeleteComponent() throws Exception {
384 CassandraOperationStatus result;
387 result = testSubject.deleteComponent(id);