Corrected hibernate for cfvc customization table
[so.git] / mso-catalog-db / src / test / java / org / onap / so / db / catalog / data / repository / CvnfcCustomizationRepositoryTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 - 2018 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.onap.so.db.catalog.data.repository;
22
23 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
24 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
25
26 import java.util.ArrayList;
27 import java.util.HashSet;
28 import java.util.List;
29 import java.util.Set;
30
31 import org.junit.Assert;
32 import org.junit.Test;
33 import org.onap.so.db.catalog.BaseTest;
34 import org.onap.so.db.catalog.beans.ConfigurationResource;
35 import org.onap.so.db.catalog.beans.CvnfcCustomization;
36 import org.onap.so.db.catalog.beans.VfModule;
37 import org.onap.so.db.catalog.beans.VfModuleCustomization;
38 import org.onap.so.db.catalog.beans.VnfResource;
39 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
40 import org.onap.so.db.catalog.beans.VnfVfmoduleCvnfcConfigurationCustomization;
41 import org.onap.so.db.catalog.beans.VnfcCustomization;
42 import org.springframework.beans.factory.annotation.Autowired;
43 import org.springframework.transaction.annotation.Transactional;
44 import org.springframework.util.CollectionUtils;
45
46 public class CvnfcCustomizationRepositoryTest extends BaseTest {
47     @Autowired
48     private CvnfcCustomizationRepository cvnfcCustomizationRepository;
49     
50     @Test
51     public void findAllTest() throws Exception {
52         List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findAll();
53         Assert.assertFalse(CollectionUtils.isEmpty(cvnfcCustomizationList));
54     }
55     
56     @Test
57     @Transactional
58     public void createAndGetAllTest() throws Exception {
59                         
60         CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
61         cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
62
63         VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
64         vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
65         
66         VfModule vFModule = setUpVfModule();
67         VnfResource vnfResource = setUpVnfResource();
68
69         vFModule.setVnfResources(vnfResource);
70         vfModuleCustomization.setVfModule(vFModule);
71         cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
72         
73         VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
74         vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
75         vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
76         
77         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
78         vnfResourceCustomizations.add(vnfResourceCustomization);
79         vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
80         vnfResourceCustomization.setVnfResources(vnfResource);
81         
82         cvnfcCustomization.setVnfResourceCustomization(vnfResourceCustomization);
83         
84         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
85         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
86         cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
87         
88         cvnfcCustomizationRepository.save(cvnfcCustomization);
89         
90         List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findAll();
91         boolean matchFound = false;
92         for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
93                 if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
94                 
95                 assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization)
96                                 .ignoring("id")
97                                 .ignoring("created")
98                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
99                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
100                 
101                 matchFound = true;
102                 break;
103                 }
104         }
105         Assert.assertTrue(matchFound);
106     }
107     
108     @Test
109     @Transactional
110     public void createAndGetCvnfcCustomizationListTest() throws Exception {
111                         
112         CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
113         cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
114
115         VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
116         vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
117         
118         VfModule vFModule = setUpVfModule();
119         VnfResource vnfResource = setUpVnfResource();
120
121         vFModule.setVnfResources(vnfResource);
122         vfModuleCustomization.setVfModule(vFModule);
123         cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
124         
125         VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
126         vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
127         vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
128         
129         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
130         vnfResourceCustomizations.add(vnfResourceCustomization);
131         vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
132         vnfResourceCustomization.setVnfResources(vnfResource);
133         
134         cvnfcCustomization.setVnfResourceCustomization(vnfResourceCustomization);
135         
136         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
137         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
138         cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
139         
140
141         
142         cvnfcCustomizationRepository.save(cvnfcCustomization);
143         
144         List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findByModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
145         boolean matchFound = false;
146         for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
147                 if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
148                 
149                 assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization)
150                                 .ignoring("id")
151                                 .ignoring("created")
152                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
153                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
154                 
155                 matchFound = true;
156                 break;
157                 }
158         }
159         Assert.assertTrue(matchFound);
160     }
161     
162     
163     @Test
164     @Transactional
165     public void createAndGetCvnfcCustomizationTest() throws Exception {
166                         
167         CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
168         cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
169
170         VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
171         vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
172         
173         VfModule vFModule = setUpVfModule();
174         VnfResource vnfResource = setUpVnfResource();
175
176         vFModule.setVnfResources(vnfResource);
177         vfModuleCustomization.setVfModule(vFModule);
178         cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
179         
180         VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
181         vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
182         vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
183         
184         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
185         vnfResourceCustomizations.add(vnfResourceCustomization);
186         vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
187         vnfResourceCustomization.setVnfResources(vnfResource);
188         
189         cvnfcCustomization.setVnfResourceCustomization(vnfResourceCustomization);
190         
191         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
192         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
193         cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
194         
195         cvnfcCustomizationRepository.save(cvnfcCustomization);
196         
197         CvnfcCustomization cvnfcCustomizationList = cvnfcCustomizationRepository.findOneByModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
198
199                 assertThat(cvnfcCustomization, sameBeanAs(cvnfcCustomizationList)
200                                 .ignoring("id")
201                                 .ignoring("created")
202                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
203                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
204
205     }
206     
207     @Test
208     @Transactional
209     public void createAndGetCvnfcCustomizationsTest() throws Exception {
210                         
211         CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
212         cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
213
214         VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
215         vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
216         
217         VfModule vFModule = setUpVfModule();
218         VnfResource vnfResource = setUpVnfResource();
219
220         vFModule.setVnfResources(vnfResource);
221         vfModuleCustomization.setVfModule(vFModule);
222         cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
223         
224         VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
225         vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
226         vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
227         
228         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
229         vnfResourceCustomizations.add(vnfResourceCustomization);
230         vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
231         vnfResourceCustomization.setVnfResources(vnfResource);
232         
233         cvnfcCustomization.setVnfResourceCustomization(vnfResourceCustomization);
234         
235         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
236         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
237         cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
238         
239         cvnfcCustomizationRepository.save(cvnfcCustomization);
240         
241         List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findByVnfResourceCustomizationAndVfModuleCustomization("cf9f6efc-9f14-11e8-98d0-529269fb1459","cf9f6efc-9f14-11e8-98d0-529269fb1459");
242         boolean matchFound = false;
243         for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
244                 if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
245                 
246                 assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization)
247                                 .ignoring("id")
248                                 .ignoring("created")
249                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
250                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
251                 
252                 matchFound = true;
253                 break;
254                 }
255         }
256         Assert.assertTrue(matchFound);
257     }
258     
259     @Test
260     @Transactional
261     public void createAndGetCvnfcCustomizationsExtractToscaModelTest() throws Exception {
262                         
263         CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
264         cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
265
266         VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
267         vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
268         
269         VfModule vFModule = setUpVfModule();
270         VnfResource vnfResource = setUpVnfResource();
271
272         vFModule.setVnfResources(vnfResource);
273         vfModuleCustomization.setVfModule(vFModule);
274         cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
275         
276         VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
277         vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
278         vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
279         
280         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
281         vnfResourceCustomizations.add(vnfResourceCustomization);
282         vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
283         vnfResourceCustomization.setVnfResources(vnfResource);
284         
285         cvnfcCustomization.setVnfResourceCustomization(vnfResourceCustomization);
286         
287         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
288         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
289         cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
290         
291                 ConfigurationResource configurationResource = new ConfigurationResource();
292                 configurationResource.setToscaNodeType("FabricConfiguration");
293                 configurationResource.setModelInvariantUUID("modelInvariantUUID");
294                 configurationResource.setModelUUID("modelUUID");
295                 configurationResource.setModelName("modelName");
296                 configurationResource.setModelVersion("modelVersion");
297                 configurationResource.setDescription("description");
298                 configurationResource.setToscaNodeType("toscaNodeType");
299                 
300         VnfVfmoduleCvnfcConfigurationCustomization vnfVfmoduleCvnfcConfigurationCustomization = new VnfVfmoduleCvnfcConfigurationCustomization();
301         vnfVfmoduleCvnfcConfigurationCustomization.setConfigurationFunction("configurationFunction");
302         vnfVfmoduleCvnfcConfigurationCustomization.setModelCustomizationUUID("modelCustomizationUUID");
303         vnfVfmoduleCvnfcConfigurationCustomization.setConfigurationResource(configurationResource);
304         vnfVfmoduleCvnfcConfigurationCustomization.setCvnfcCustomization(cvnfcCustomization);
305         vnfVfmoduleCvnfcConfigurationCustomization.setModelInstanceName("modelInstanceName");
306         vnfVfmoduleCvnfcConfigurationCustomization.setVfModuleCustomization(vfModuleCustomization);
307         vnfVfmoduleCvnfcConfigurationCustomization.setVnfResourceCustomization(vnfResourceCustomization);
308         
309         Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomizationSet = new HashSet<VnfVfmoduleCvnfcConfigurationCustomization>();
310         vnfVfmoduleCvnfcConfigurationCustomizationSet.add(vnfVfmoduleCvnfcConfigurationCustomization);
311         cvnfcCustomization.setVnfVfmoduleCvnfcConfigurationCustomization(vnfVfmoduleCvnfcConfigurationCustomizationSet);
312         vfModuleCustomization.setVnfVfmoduleCvnfcConfigurationCustomization(vnfVfmoduleCvnfcConfigurationCustomizationSet);
313         vnfResourceCustomization.setVnfVfmoduleCvnfcConfigurationCustomization(vnfVfmoduleCvnfcConfigurationCustomizationSet);
314         
315         cvnfcCustomizationRepository.save(cvnfcCustomization);
316         
317         List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findByVnfResourceCustomizationAndVfModuleCustomization("cf9f6efc-9f14-11e8-98d0-529269fb1459","cf9f6efc-9f14-11e8-98d0-529269fb1459");
318         boolean matchFound = false;
319         for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
320                 if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
321                 
322                 assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization)
323                                 .ignoring("id")
324                                 .ignoring("created")
325                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
326                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
327                 
328                 matchFound = true;
329                 
330                 Set<VnfVfmoduleCvnfcConfigurationCustomization>  vnfVfmoduleCvnfcConfigurationCustomizations =  foundCvnfcCustomization.getVnfVfmoduleCvnfcConfigurationCustomization();
331                 for(VnfVfmoduleCvnfcConfigurationCustomization customization : vnfVfmoduleCvnfcConfigurationCustomizations) {
332                         Assert.assertTrue(customization.getConfigurationResource().getToscaNodeType().equalsIgnoreCase("toscaNodeType"));
333                 }
334                 break;
335                 }
336         }
337         Assert.assertTrue(matchFound);
338         
339     }
340 }