fix catalogdb cvfnc customization
[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.CvnfcConfigurationCustomization;
36 import org.onap.so.db.catalog.beans.CvnfcCustomization;
37 import org.onap.so.db.catalog.beans.VfModule;
38 import org.onap.so.db.catalog.beans.VfModuleCustomization;
39 import org.onap.so.db.catalog.beans.VnfResource;
40 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
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         
83         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
84         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
85         
86         cvnfcCustomizationRepository.save(cvnfcCustomization);
87         
88         List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findAll();
89         boolean matchFound = false;
90         for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
91                 if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
92                 
93                 assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization)
94                                 .ignoring("id")
95                                 .ignoring("created")
96                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
97                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
98                 
99                 matchFound = true;
100                 break;
101                 }
102         }
103         Assert.assertTrue(matchFound);
104     }
105     
106     @Test
107     @Transactional
108     public void createAndGetCvnfcCustomizationListTest() throws Exception {
109                         
110         CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
111         cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
112
113         VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
114         vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
115         
116         VfModule vFModule = setUpVfModule();
117         VnfResource vnfResource = setUpVnfResource();
118
119         vFModule.setVnfResources(vnfResource);
120         vfModuleCustomization.setVfModule(vFModule);
121         cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
122         
123         VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
124         vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
125         vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
126         
127         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList<>();
128         vnfResourceCustomizations.add(vnfResourceCustomization);
129         vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
130         vnfResourceCustomization.setVnfResources(vnfResource);
131         
132
133         
134         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
135         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
136
137         
138
139         
140         cvnfcCustomizationRepository.save(cvnfcCustomization);
141         
142         List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findByModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
143         boolean matchFound = false;
144         for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
145                 if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
146                 
147                 assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization)
148                                 .ignoring("id")
149                                 .ignoring("created")
150                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
151                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
152                 
153                 matchFound = true;
154                 break;
155                 }
156         }
157         Assert.assertTrue(matchFound);
158     }
159     
160     
161     @Test
162     @Transactional
163     public void createAndGetCvnfcCustomizationTest() throws Exception {
164                         
165         CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
166         cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
167
168         VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
169         vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
170         
171         VfModule vFModule = setUpVfModule();
172         VnfResource vnfResource = setUpVnfResource();
173
174         vFModule.setVnfResources(vnfResource);
175         vfModuleCustomization.setVfModule(vFModule);
176         cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
177         
178         VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
179         vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
180         vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
181         
182         List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
183         vnfResourceCustomizations.add(vnfResourceCustomization);
184         vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
185         vnfResourceCustomization.setVnfResources(vnfResource);
186         
187     
188         
189         VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
190         vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
191         
192         cvnfcCustomizationRepository.save(cvnfcCustomization);
193         
194         CvnfcCustomization cvnfcCustomizationList = cvnfcCustomizationRepository.findOneByModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
195
196                 assertThat(cvnfcCustomization, sameBeanAs(cvnfcCustomizationList)
197                                 .ignoring("id")
198                                 .ignoring("created")
199                                 .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
200                                 .ignoring("vnfResourceCusteModelCustomizationUUID"));
201
202     }
203     
204  
205     
206   
207 }