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;
42 import org.springframework.context.ApplicationEventPublisher;
44 public class ApplicationDataTypeCacheTest extends ModelConfDependentTest{
47 private ApplicationDataTypeCache testSubject;
50 PropertyOperation propertyOperation;
53 ApplicationEventPublisher applicationEventPublisher;
56 public void setUpMocks() throws Exception {
57 MockitoAnnotations.initMocks(this);
62 public void testInit() throws Exception {
67 public void testDestroy() throws Exception {
69 Deencapsulation.invoke(testSubject, "destroy");
73 public void testShutdownExecutor() throws Exception {
76 Deencapsulation.invoke(testSubject, "shutdownExecutor");
80 public void testGetAllDataTypesFromGraph() throws Exception {
81 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
84 result = Deencapsulation.invoke(testSubject, "getAllDataTypesFromGraph");
88 public void testGetAll() throws Exception {
89 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
92 result = testSubject.getAll();
96 public void testGet() throws Exception {
98 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
101 result = testSubject.get(uniqueId);
105 public void testGet2() throws Exception {
106 String uniqueId = "";
107 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
109 HashMap<String, DataTypeDefinition> a = new HashMap<>();
110 DataTypeDefinition value1 = new DataTypeDefinition();
111 value1.setUniqueId("mock");
112 a.put("mock", value1);
113 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.left(a);
114 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
116 Deencapsulation.invoke(testSubject, "replaceAllData");
117 result = testSubject.get(uniqueId);
121 public void testRun() throws Exception {
126 public void testRun2() throws Exception {
127 Either<List<DataTypeData>, JanusGraphOperationStatus> value = Either.right(
128 JanusGraphOperationStatus.GENERAL_ERROR);
129 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
134 public void testRun3() throws Exception {
135 LinkedList<DataTypeData> a = new LinkedList<>();
136 a.add(new DataTypeData());
137 Either<List<DataTypeData>, JanusGraphOperationStatus> value = Either.left(a);
138 Mockito.when(propertyOperation.getAllDataTypeNodes()).thenReturn(value);
140 HashMap<String, DataTypeDefinition> a1 = new HashMap<>();
141 DataTypeDefinition value1 = new DataTypeDefinition();
142 value1.setUniqueId("mock");
143 a1.put("mock", value1);
144 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value2 = Either.left(a1);
145 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value2);
147 Deencapsulation.invoke(testSubject, "replaceAllData");
152 public void testCompareDataTypes() throws Exception {
153 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
154 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
158 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
162 public void testCompareDataTypes2() throws Exception {
163 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
164 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
167 currentDataTypeToModificationTime.put("mock", ImmutablePair.of(1L, 2L));
168 dataTypeNameToModificationTime.put("mock", ImmutablePair.of(5L, 6L));
171 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
175 public void testReplaceAllData() throws Exception {
176 HashMap<String, DataTypeDefinition> a = new HashMap<>();
177 DataTypeDefinition value1 = new DataTypeDefinition();
178 value1.setUniqueId("mock");
179 a.put("mock", value1);
180 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.left(a);
181 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
183 Deencapsulation.invoke(testSubject, "replaceAllData");
187 public void testReplaceAllData2() throws Exception {
188 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> value = Either.right(
189 JanusGraphOperationStatus.GENERAL_ERROR);
190 Mockito.when(propertyOperation.getAllDataTypes()).thenReturn(value);
192 Deencapsulation.invoke(testSubject, "replaceAllData");