481894c0c3e42082605dd0b5788a840f3f8e4e43
[sdc.git] / catalog-model / src / test / java / org / openecomp / sdc / be / model / cache / ApplicationDataTypeCacheTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.be.model.cache;
22
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;
37
38 import java.util.HashMap;
39 import java.util.LinkedList;
40 import java.util.List;
41 import java.util.Map;
42
43 public class ApplicationDataTypeCacheTest extends ModelConfDependentTest{
44
45         @InjectMocks
46         private ApplicationDataTypeCache testSubject;
47         
48         @Mock
49         PropertyOperation propertyOperation;
50
51         @Before
52         public void setUpMocks() throws Exception {
53                 MockitoAnnotations.initMocks(this);
54         }
55
56
57         @Test
58         public void testInit() throws Exception {
59                 testSubject.init();
60         }
61
62         @Test
63         public void testDestroy() throws Exception {
64                 testSubject.init();
65                 Deencapsulation.invoke(testSubject, "destroy");
66         }
67
68         @Test
69         public void testShutdownExecutor() throws Exception {
70
71                 // default test
72                 Deencapsulation.invoke(testSubject, "shutdownExecutor");
73         }
74
75         @Test
76         public void testGetAllDataTypesFromGraph() throws Exception {
77                 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
78
79                 // default test
80                 result = Deencapsulation.invoke(testSubject, "getAllDataTypesFromGraph");
81         }
82
83         @Test
84         public void testGetAll() throws Exception {
85                 Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> result;
86
87                 // default test
88                 result = testSubject.getAll();
89         }
90
91         @Test
92         public void testGet() throws Exception {
93                 String uniqueId = "";
94                 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
95
96                 // default test
97                 result = testSubject.get(uniqueId);
98         }
99
100         @Test
101         public void testGet2() throws Exception {
102                 String uniqueId = "";
103                 Either<DataTypeDefinition, JanusGraphOperationStatus> result;
104
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);
111                 // default test
112                 Deencapsulation.invoke(testSubject, "replaceAllData");
113                 result = testSubject.get(uniqueId);
114         }
115         
116         @Test
117         public void testRun() throws Exception {
118                 testSubject.run();
119         }
120
121         @Test
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);
126                 testSubject.run();
127         }
128         
129         @Test
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);
135                 
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);
142                 
143                 Deencapsulation.invoke(testSubject, "replaceAllData");
144                 testSubject.run();
145         }
146         
147         @Test
148         public void testCompareDataTypes() throws Exception {
149                 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
150                 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
151                 boolean result;
152
153                 // default test
154                 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
155         }
156
157         @Test
158         public void testCompareDataTypes2() throws Exception {
159                 Map<String, ImmutablePair<Long, Long>> dataTypeNameToModificationTime = new HashMap<>();
160                 Map<String, ImmutablePair<Long, Long>> currentDataTypeToModificationTime = new HashMap<>();
161                 boolean result;
162                 
163                 currentDataTypeToModificationTime.put("mock", ImmutablePair.of(1L, 2L));
164                 dataTypeNameToModificationTime.put("mock", ImmutablePair.of(5L, 6L));
165                 
166                 // default test
167                 result = Deencapsulation.invoke(testSubject, "compareDataTypes", dataTypeNameToModificationTime, currentDataTypeToModificationTime);
168         }
169         
170         @Test
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);
178                 // default test
179                 Deencapsulation.invoke(testSubject, "replaceAllData");
180         }
181         
182         @Test
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);
187                 // default test
188                 Deencapsulation.invoke(testSubject, "replaceAllData");
189         }
190 }