2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.model.cache;
23 import fj.data.Either;
24 import mockit.Deencapsulation;
25 import org.apache.commons.lang3.tuple.ImmutablePair;
26 import org.junit.Before;
27 import org.junit.Test;
28 import org.mockito.InjectMocks;
29 import org.mockito.Mock;
30 import org.mockito.Mockito;
31 import org.mockito.MockitoAnnotations;
32 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
33 import org.openecomp.sdc.be.model.DataTypeDefinition;
34 import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
35 import org.openecomp.sdc.be.resources.data.DataTypeData;
36 import org.openecomp.sdc.be.unittests.utils.ModelConfDependentTest;
38 import java.util.HashMap;
39 import java.util.LinkedList;
40 import java.util.List;
43 public class ApplicationDataTypeCacheTest extends ModelConfDependentTest{
46 private ApplicationDataTypeCache testSubject;
49 PropertyOperation propertyOperation;
52 public void setUpMocks() throws Exception {
53 MockitoAnnotations.initMocks(this);
58 public void testInit() throws Exception {
63 public void testDestroy() throws Exception {
65 Deencapsulation.invoke(testSubject, "destroy");
69 public void testShutdownExecutor() throws Exception {
72 Deencapsulation.invoke(testSubject, "shutdownExecutor");
76 public void testGetAllDataTypesFromGraph() throws Exception {
77 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
80 result = Deencapsulation.invoke(testSubject, "getAllDataTypesFromGraph");
84 public void testGetAll() throws Exception {
85 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
88 result = testSubject.getAll();
92 public void testGet() throws Exception {
94 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
97 result = testSubject.get(uniqueId);
101 public void testGet2() throws Exception {
102 String uniqueId = "";
103 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
105 HashMap<String, DataTypeDefinition> a = new HashMap<>();
106 DataTypeDefinition value1 = new DataTypeDefinition();
107 value1.setUniqueId("mock");
108 a.put("mock", value1);
109 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.left(a);
110 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
112 Deencapsulation.invoke(testSubject, "replaceAllData");
113 result = testSubject.get(uniqueId);
117 public void testRun() throws Exception {
122 public void testRun2() throws Exception {
123 Either<List<DataTypeData>, JanusGraphOperationStatus> value = Either.right(
124 JanusGraphOperationStatus.GENERAL_ERROR);
125 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
130 public void testRun3() throws Exception {
131 LinkedList<DataTypeData> a = new LinkedList<>();
132 a.add(new DataTypeData());
133 Either<List<DataTypeData>, JanusGraphOperationStatus> value = Either.left(a);
134 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
136 HashMap<String, DataTypeDefinition> a1 = new HashMap<>();
137 DataTypeDefinition value1 = new DataTypeDefinition();
138 value1.setUniqueId("mock");
139 a1.put("mock", value1);
140 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value2 = Either.left(a1);
141 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value2);
143 Deencapsulation.invoke(testSubject, "replaceAllData");
148 public void testCompareDataTypes() throws Exception {
149 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
150 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
154 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
158 public void testCompareDataTypes2() throws Exception {
159 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
160 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
163 currentDataTypeToModificationTime.put("mock", ImmutablePair.of(1L, 2L));
164 dataTypeNameToModificationTime.put("mock", ImmutablePair.of(5L, 6L));
167 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
171 public void testReplaceAllData() throws Exception {
172 HashMap<String, DataTypeDefinition> a = new HashMap<>();
173 DataTypeDefinition value1 = new DataTypeDefinition();
174 value1.setUniqueId("mock");
175 a.put("mock", value1);
176 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.left(a);
177 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
179 Deencapsulation.invoke(testSubject, "replaceAllData");
183 public void testReplaceAllData2() throws Exception {
184 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.right(
185 JanusGraphOperationStatus.GENERAL_ERROR);
186 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
188 Deencapsulation.invoke(testSubject, "replaceAllData");