1 package org.openecomp.sdc.be.model.cache;
4 import mockit.Deencapsulation;
5 import org.apache.commons.lang3.tuple.ImmutablePair;
6 import org.junit.Before;
8 import org.mockito.InjectMocks;
9 import org.mockito.Mock;
10 import org.mockito.Mockito;
11 import org.mockito.MockitoAnnotations;
12 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
13 import org.openecomp.sdc.be.model.DataTypeDefinition;
14 import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
15 import org.openecomp.sdc.be.resources.data.DataTypeData;
16 import org.openecomp.sdc.be.unittests.utils.ModelConfDependentTest;
18 import java.util.HashMap;
19 import java.util.LinkedList;
20 import java.util.List;
23 public class ApplicationDataTypeCacheTest extends ModelConfDependentTest{
26 private ApplicationDataTypeCache testSubject;
29 PropertyOperation propertyOperation;
32 public void setUpMocks() throws Exception {
33 MockitoAnnotations.initMocks(this);
38 public void testInit() throws Exception {
43 public void testDestroy() throws Exception {
45 Deencapsulation.invoke(testSubject, "destroy");
49 public void testShutdownExecutor() throws Exception {
52 Deencapsulation.invoke(testSubject, "shutdownExecutor");
56 public void testGetAllDataTypesFromGraph() throws Exception {
57 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
60 result = Deencapsulation.invoke(testSubject, "getAllDataTypesFromGraph");
64 public void testGetAll() throws Exception {
65 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
68 result = testSubject.getAll();
72 public void testGet() throws Exception {
74 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
77 result = testSubject.get(uniqueId);
81 public void testGet2() throws Exception {
83 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
85 HashMap<String, DataTypeDefinition> a = new HashMap<>();
86 DataTypeDefinition value1 = new DataTypeDefinition();
87 value1.setUniqueId("mock");
88 a.put("mock", value1);
89 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.left(a);
90 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
92 Deencapsulation.invoke(testSubject, "replaceAllData");
93 result = testSubject.get(uniqueId);
97 public void testRun() throws Exception {
102 public void testRun2() throws Exception {
103 Either<List<DataTypeData>, JanusGraphOperationStatus> value = Either.right(
104 JanusGraphOperationStatus.GENERAL_ERROR);
105 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
110 public void testRun3() throws Exception {
111 LinkedList<DataTypeData> a = new LinkedList<>();
112 a.add(new DataTypeData());
113 Either<List<DataTypeData>, JanusGraphOperationStatus> value = Either.left(a);
114 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
116 HashMap<String, DataTypeDefinition> a1 = new HashMap<>();
117 DataTypeDefinition value1 = new DataTypeDefinition();
118 value1.setUniqueId("mock");
119 a1.put("mock", value1);
120 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value2 = Either.left(a1);
121 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value2);
123 Deencapsulation.invoke(testSubject, "replaceAllData");
128 public void testCompareDataTypes() throws Exception {
129 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
130 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
134 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
138 public void testCompareDataTypes2() throws Exception {
139 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
140 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
143 currentDataTypeToModificationTime.put("mock", ImmutablePair.of(1L, 2L));
144 dataTypeNameToModificationTime.put("mock", ImmutablePair.of(5L, 6L));
147 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
151 public void testReplaceAllData() throws Exception {
152 HashMap<String, DataTypeDefinition> a = new HashMap<>();
153 DataTypeDefinition value1 = new DataTypeDefinition();
154 value1.setUniqueId("mock");
155 a.put("mock", value1);
156 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.left(a);
157 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
159 Deencapsulation.invoke(testSubject, "replaceAllData");
163 public void testReplaceAllData2() throws Exception {
164 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.right(
165 JanusGraphOperationStatus.GENERAL_ERROR);
166 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
168 Deencapsulation.invoke(testSubject, "replaceAllData");