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.titan.TitanOperationStatus;
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>, TitanOperationStatus> result;
60 result = Deencapsulation.invoke(testSubject, "getAllDataTypesFromGraph");
64 public void testGetAll() throws Exception {
65 Either<Map<String, DataTypeDefinition>, TitanOperationStatus> result;
68 result = testSubject.getAll();
72 public void testGet() throws Exception {
74 Either<DataTypeDefinition, TitanOperationStatus> result;
77 result = testSubject.get(uniqueId);
81 public void testGet2() throws Exception {
83 Either<DataTypeDefinition, TitanOperationStatus> 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>, TitanOperationStatus> 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>, TitanOperationStatus> value = Either.right(TitanOperationStatus.GENERAL_ERROR);
104 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
109 public void testRun3() throws Exception {
110 LinkedList<DataTypeData> a = new LinkedList<>();
111 a.add(new DataTypeData());
112 Either<List<DataTypeData>, TitanOperationStatus> value = Either.left(a);
113 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
115 HashMap<String, DataTypeDefinition> a1 = new HashMap<>();
116 DataTypeDefinition value1 = new DataTypeDefinition();
117 value1.setUniqueId("mock");
118 a1.put("mock", value1);
119 Either<Map<String, DataTypeDefinition>, TitanOperationStatus> value2 = Either.left(a1);
120 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value2);
122 Deencapsulation.invoke(testSubject, "replaceAllData");
127 public void testCompareDataTypes() throws Exception {
128 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
129 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
133 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
137 public void testCompareDataTypes2() throws Exception {
138 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
139 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
142 currentDataTypeToModificationTime.put("mock", ImmutablePair.of(1L, 2L));
143 dataTypeNameToModificationTime.put("mock", ImmutablePair.of(5L, 6L));
146 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
150 public void testReplaceAllData() throws Exception {
151 HashMap<String, DataTypeDefinition> a = new HashMap<>();
152 DataTypeDefinition value1 = new DataTypeDefinition();
153 value1.setUniqueId("mock");
154 a.put("mock", value1);
155 Either<Map<String, DataTypeDefinition>, TitanOperationStatus> value = Either.left(a);
156 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
158 Deencapsulation.invoke(testSubject, "replaceAllData");
162 public void testReplaceAllData2() throws Exception {
163 Either<Map<String, DataTypeDefinition>, TitanOperationStatus> value = Either.right(TitanOperationStatus.GENERAL_ERROR);
164 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
166 Deencapsulation.invoke(testSubject, "replaceAllData");