2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 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.ci.tests.execute.service;
23 import com.fasterxml.jackson.annotation.JsonIgnore;
24 import org.json.JSONObject;
25 import org.junit.Rule;
26 import org.junit.rules.TestName;
27 import org.openecomp.sdc.be.dao.api.ActionStatus;
28 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
29 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
30 import org.openecomp.sdc.be.model.Component;
31 import org.openecomp.sdc.be.model.LifecycleStateEnum;
32 import org.openecomp.sdc.be.model.Service;
33 import org.openecomp.sdc.be.model.User;
34 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
35 import org.openecomp.sdc.ci.tests.api.Urls;
36 import org.openecomp.sdc.ci.tests.config.Config;
37 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
38 import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails;
39 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
40 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
41 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
42 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
43 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
44 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
45 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
46 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
47 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
48 import org.openecomp.sdc.ci.tests.utils.DbUtils;
49 import org.openecomp.sdc.ci.tests.utils.Utils;
50 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
51 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
52 import org.openecomp.sdc.ci.tests.utils.rest.*;
53 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
54 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
55 import org.openecomp.sdc.ci.tests.utils.validation.ServiceValidationUtils;
56 import org.slf4j.Logger;
57 import org.slf4j.LoggerFactory;
58 import org.testng.annotations.Test;
60 import java.util.ArrayList;
61 import java.util.Arrays;
62 import java.util.List;
65 import static org.testng.AssertJUnit.assertEquals;
66 import static org.testng.AssertJUnit.assertNotNull;
68 public class CreateServiceMetadataApiTest extends ComponentBaseTest {
69 private static Logger logger = LoggerFactory.getLogger(CreateServiceMetadataApiTest.class.getName());
71 String serviceBaseVersion = "0.1";
74 public static TestName name = new TestName();
76 public CreateServiceMetadataApiTest() {
77 super(name, CreateServiceMetadataApiTest.class.getName());
81 public void createDefaultService() throws Exception {
83 // choose the user to create service
84 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
86 // ElementFactory.getDefaultUser(UserRoleEnum.ADMIN).getUserId();
88 // fill new service details
89 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
91 // clean audit DB before service creation
92 DbUtils.cleanAllAudits();
94 // send create service toward BE
95 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
97 assertNotNull("check response object is not null after create service", restResponse);
98 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
99 assertEquals("Check response code after create service", 201, restResponse.getErrorCode().intValue());
101 // validate create service response vs actual
103 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
104 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
105 (LifecycleStateEnum) null);
107 // validate get service response vs actual
108 restResponse = ServiceRestUtils.getService(serviceDetails, sdncUserDetails);
109 service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
110 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
111 (LifecycleStateEnum) null);
115 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
116 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
118 String auditAction = "Create";
119 expectedResourceAuditJavaObject.setAction(auditAction);
120 expectedResourceAuditJavaObject.setPrevState("");
121 expectedResourceAuditJavaObject.setPrevVersion("");
122 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
123 expectedResourceAuditJavaObject.setStatus("201");
124 expectedResourceAuditJavaObject.setDesc("OK");
126 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
131 public void createDefaultServiceUserDesigner() throws Exception {
133 // choose the user to create service
134 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
136 // fill new service details
137 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
139 // clean audit DB before service creation
140 DbUtils.cleanAllAudits();
142 // send create service toward BE
143 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
145 assertNotNull("check response object is not null after create service", restResponse);
146 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
147 assertEquals("Check response code after create service", 201, restResponse.getErrorCode().intValue());
149 // validate create service response vs actual
151 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
152 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
153 (LifecycleStateEnum) null);
155 // validate get service response vs actual
156 restResponse = ServiceRestUtils.getService(serviceDetails, sdncUserDetails);
157 service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
161 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
162 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
164 String auditAction = "Create";
165 expectedResourceAuditJavaObject.setAction(auditAction);
166 expectedResourceAuditJavaObject.setPrevState("");
167 expectedResourceAuditJavaObject.setPrevVersion("");
168 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
169 expectedResourceAuditJavaObject.setStatus("201");
170 expectedResourceAuditJavaObject.setDesc("OK");
172 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
177 public void createServiceUserNotFound() throws Exception {
179 // choose the user to create service
180 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
181 sdncUserDetails.setUserId("no1234");
183 // fill new service details
184 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
186 // clean audit DB before service creation
187 DbUtils.cleanAllAudits();
189 // send create service toward BE
190 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
192 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
194 assertNotNull("check response object is not null after create service", restResponse);
195 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
196 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
198 // validate create service response vs actual
200 List<String> variables = Arrays.asList();
201 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
202 restResponse.getResponse());
206 sdncUserDetails.setFirstName("");
207 sdncUserDetails.setLastName("");
208 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
209 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
211 String auditAction = "Create";
212 expectedResourceAuditJavaObject.setAction(auditAction);
213 expectedResourceAuditJavaObject.setPrevState("");
214 expectedResourceAuditJavaObject.setPrevVersion("");
215 expectedResourceAuditJavaObject.setCurrVersion("");
216 expectedResourceAuditJavaObject.setCurrState("");
217 expectedResourceAuditJavaObject.setModifierName("");
218 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
220 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
221 expectedResourceAuditJavaObject.setDesc(auditDesc);
223 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
228 public void createServiceUserNotAllowed() throws Exception {
230 // choose the user to create service
231 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
233 // fill new service details
234 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
236 // clean audit DB before service creation
237 DbUtils.cleanAllAudits();
239 // send create service toward BE
240 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
242 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
244 assertNotNull("check response object is not null after create service", restResponse);
245 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
246 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
248 // validate create service response vs actual
250 List<String> variables = Arrays.asList();
251 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
252 restResponse.getResponse());
256 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
257 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
259 String auditAction = "Create";
260 expectedResourceAuditJavaObject.setAction(auditAction);
261 expectedResourceAuditJavaObject.setPrevState("");
262 expectedResourceAuditJavaObject.setPrevVersion("");
263 expectedResourceAuditJavaObject.setCurrVersion("");
264 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
265 expectedResourceAuditJavaObject.setCurrState("");
266 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
268 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
269 expectedResourceAuditJavaObject.setDesc(auditDesc);
271 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
276 public void createServiceEmptyName() throws Exception {
278 // choose the user to create service
279 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
281 // fill new service details
282 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
283 String serviceName = "";
284 serviceDetails.setName(serviceName);
286 // clean audit DB before service creation
287 DbUtils.cleanAllAudits();
289 // send create service toward BE
290 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
292 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_COMPONENT_NAME.name());
294 assertNotNull("check response object is not null after create service", restResponse);
295 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
296 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
298 // validate create service response vs actual
300 List<String> variables = Arrays.asList("Service");
301 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_COMPONENT_NAME.name(), variables,
302 restResponse.getResponse());
306 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
307 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
309 String auditAction = "Create";
310 expectedResourceAuditJavaObject.setAction(auditAction);
311 expectedResourceAuditJavaObject.setPrevState("");
312 expectedResourceAuditJavaObject.setPrevVersion("");
313 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
314 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
316 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
317 expectedResourceAuditJavaObject.setDesc(auditDesc);
319 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
324 public void createServiceEmptyCategory() throws Exception {
326 // choose the user to create service
327 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
329 // fill new service details
330 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
331 String category = "";
333 serviceDetails.setCategories(null);
334 // serviceDetails.addCategory(category);
336 // clean audit DB before service creation
337 DbUtils.cleanAllAudits();
339 // send create service toward BE
340 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
342 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_CATEGORY.name());
344 assertNotNull("check response object is not null after create service", restResponse);
345 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
346 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
348 // validate create service response vs actual
350 List<String> variables = Arrays.asList("Service");
351 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_MISSING_CATEGORY.name(), variables,
352 restResponse.getResponse());
356 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
357 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
359 String auditAction = "Create";
360 expectedResourceAuditJavaObject.setAction(auditAction);
361 expectedResourceAuditJavaObject.setPrevState("");
362 expectedResourceAuditJavaObject.setPrevVersion("");
363 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
364 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
366 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
367 expectedResourceAuditJavaObject.setDesc(auditDesc);
369 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
374 public void createServiceEmptyTag() throws Exception {
376 // choose the user to create service
377 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
379 // fill new service details
380 ArrayList<String> tags = new ArrayList<String>();
382 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
383 serviceDetails.setTags(tags);
385 // clean audit DB before service creation
386 DbUtils.cleanAllAudits();
388 // send create service toward BE
389 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
391 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_FIELD_FORMAT.name());
393 assertNotNull("check response object is not null after create service", restResponse);
394 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
395 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
397 // validate create service response vs actual
399 List<String> variables = Arrays.asList("Service", "tag");
400 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_FIELD_FORMAT.name(), variables,
401 restResponse.getResponse());
405 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
406 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
408 String auditAction = "Create";
409 expectedResourceAuditJavaObject.setAction(auditAction);
410 expectedResourceAuditJavaObject.setPrevState("");
411 expectedResourceAuditJavaObject.setPrevVersion("");
412 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
413 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
415 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
416 expectedResourceAuditJavaObject.setDesc(auditDesc);
418 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
423 public void createServiceEmptyDescription() throws Exception {
425 // choose the user to create service
426 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
428 // fill new service details
429 String description = "";
430 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
431 serviceDetails.setDescription(description);
433 // clean audit DB before service creation
434 DbUtils.cleanAllAudits();
436 // send create service toward BE
437 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
439 ErrorInfo errorInfo = ErrorValidationUtils
440 .parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_DESCRIPTION.name());
442 assertNotNull("check response object is not null after create service", restResponse);
443 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
444 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
446 // validate create service response vs actual
448 List<String> variables = Arrays.asList("Service");
449 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_MISSING_DESCRIPTION.name(), variables,
450 restResponse.getResponse());
454 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
455 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
457 String auditAction = "Create";
458 expectedResourceAuditJavaObject.setAction(auditAction);
459 expectedResourceAuditJavaObject.setPrevState("");
460 expectedResourceAuditJavaObject.setPrevVersion("");
461 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
462 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
464 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
465 expectedResourceAuditJavaObject.setDesc(auditDesc);
467 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
472 public void createServiceEmptyTags() throws Exception {
474 // choose the user to create service
475 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
477 // fill new service details
478 ArrayList<String> tags = new ArrayList<String>();
480 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
481 serviceDetails.setTags(tags);
483 // clean audit DB before service creation
484 DbUtils.cleanAllAudits();
486 // send create service toward BE
487 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
489 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_FIELD_FORMAT.name());
491 assertNotNull("check response object is not null after create service", restResponse);
492 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
493 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
495 // validate create service response vs actual
497 List<String> variables = Arrays.asList("Service", "tag");
498 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_FIELD_FORMAT.name(), variables,
499 restResponse.getResponse());
503 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
504 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
506 String auditAction = "Create";
507 expectedResourceAuditJavaObject.setAction(auditAction);
508 expectedResourceAuditJavaObject.setPrevState("");
509 expectedResourceAuditJavaObject.setPrevVersion("");
510 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
511 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
513 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
514 expectedResourceAuditJavaObject.setDesc(auditDesc);
516 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
521 public void createServiceByPutHttpMethod() throws Exception {
523 String method = "PUT";
525 // choose the user to create service
526 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
528 // fill new service details
529 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
531 // clean audit DB before service creation
532 DbUtils.cleanAllAudits();
534 // send create service toward BE
536 RestResponse restResponse = ServiceRestUtils.createServiceByHttpMethod(serviceDetails, sdncUserDetails, method,
537 Urls.CREATE_SERVICE);
539 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.NOT_ALLOWED.name());
541 assertNotNull("check response object is not null after create service", restResponse);
542 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
543 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
545 // validate create service response vs actual
547 List<String> variables = Arrays.asList();
548 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_ALLOWED.name(), variables,
549 restResponse.getResponse());
553 // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
554 // resourceUtils.constructFieldsForAuditValidation(serviceDetails,
555 // serviceBaseVersion, sdncUserDetails);
557 // String auditAction="Create";
558 // expectedResourceAuditJavaObject.setAction(auditAction);
559 // expectedResourceAuditJavaObject.setPrevState("");
560 // expectedResourceAuditJavaObject.setPrevVersion("");
561 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
562 // expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
564 // String auditDesc =
565 // AuditValidationUtils.buildAuditDescription(errorInfo, variables);
566 // expectedResourceAuditJavaObject.setDesc(auditDesc);
568 // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
574 public void createServiceByDeleteHttpMethod() throws Exception {
576 String method = "DELETE";
578 // choose the user to create service
579 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
581 // fill new service details
582 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
584 // clean audit DB before service creation
585 DbUtils.cleanAllAudits();
587 // send create service toward BE
589 RestResponse restResponse = ServiceRestUtils.createServiceByHttpMethod(serviceDetails, sdncUserDetails, method,
590 Urls.CREATE_SERVICE);
592 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.NOT_ALLOWED.name());
594 assertNotNull("check response object is not null after create service", restResponse);
595 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
596 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
598 // validate create service response vs actual
600 List<String> variables = Arrays.asList();
601 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_ALLOWED.name(), variables,
602 restResponse.getResponse());
606 // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
607 // resourceUtils.constructFieldsForAuditValidation(serviceDetails,
608 // serviceBaseVersion, sdncUserDetails);
610 // String auditAction="Create";
611 // expectedResourceAuditJavaObject.setAction(auditAction);
612 // expectedResourceAuditJavaObject.setPrevState("");
613 // expectedResourceAuditJavaObject.setPrevVersion("");
614 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
615 // expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
617 // String auditDesc =
618 // AuditValidationUtils.buildAuditDescription(errorInfo, variables);
619 // expectedResourceAuditJavaObject.setDesc(auditDesc);
621 // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
627 public void createServiceTagLengthExceedLimit() throws Exception {
629 // choose the user to create service
630 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
632 // fill new service details
633 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
634 StringBuffer tagBuffer = new StringBuffer();
635 for (int i = 0; i < 1025; i++) {
636 tagBuffer.append("a");
638 ArrayList<String> tags = new ArrayList<String>();
639 tags.add(tagBuffer.toString());
640 serviceDetails.setTags(tags);
642 // clean audit DB before service creation
643 DbUtils.cleanAllAudits();
645 // send create service toward BE
647 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
649 ErrorInfo errorInfo = ErrorValidationUtils
650 .parseErrorConfigYaml(ActionStatus.COMPONENT_SINGLE_TAG_EXCEED_LIMIT.name());
652 assertNotNull("check response object is not null after create service", restResponse);
653 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
654 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
656 // validate create service response vs actual
658 List<String> variables = Arrays.asList("50");
659 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_SINGLE_TAG_EXCEED_LIMIT.name(), variables,
660 restResponse.getResponse());
663 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
664 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
665 String auditAction = "Create";
666 expectedResourceAuditJavaObject.setAction(auditAction);
667 expectedResourceAuditJavaObject.setPrevState("");
668 expectedResourceAuditJavaObject.setPrevVersion("");
669 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
670 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
671 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("50"));
672 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
675 * ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
676 * ServiceValidationUtils.constructFieldsForAuditValidation(
677 * serviceDetails, serviceBaseVersion, sdncUserDetails);
679 * String auditAction="Create";
680 * expectedResourceAuditJavaObject.setAction(auditAction);
681 * expectedResourceAuditJavaObject.setPrevState("");
682 * expectedResourceAuditJavaObject.setPrevVersion("");
683 * expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.
684 * NOT_CERTIFIED_CHECKOUT).toString());
685 * expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().
686 * toString()); expectedResourceAuditJavaObject.setDesc(auditDesc);
688 * AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
689 * auditAction, null);
695 public void createServiceAlreadyExistException() throws Exception {
697 // choose the user to create service
698 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
700 // fill new service details
701 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
703 // clean audit DB before service creation
704 DbUtils.cleanAllAudits();
706 // send create service toward BE
707 ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
709 // clean audit DB before service creation
710 DbUtils.cleanAllAudits();
712 // create service with the same name
713 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
715 ErrorInfo errorInfo = ErrorValidationUtils
716 .parseErrorConfigYaml(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name());
718 assertNotNull("check response object is not null after create service", restResponse);
719 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
720 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
722 // validate create service response vs actual
724 List<String> variables = Arrays.asList("Service", serviceDetails.getName());
725 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name(), variables,
726 restResponse.getResponse());
730 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
731 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
733 String auditAction = "Create";
734 expectedResourceAuditJavaObject.setAction(auditAction);
735 expectedResourceAuditJavaObject.setPrevState("");
736 expectedResourceAuditJavaObject.setPrevVersion("");
737 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
738 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
740 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
741 expectedResourceAuditJavaObject.setDesc(auditDesc);
743 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
748 public void createServiceWrongContactId() throws Exception {
750 // choose the user to create service
751 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
753 // fill new service details
754 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
755 serviceDetails.setContactId("123as");
757 // clean audit DB before service creation
758 DbUtils.cleanAllAudits();
760 // send create service toward BE
761 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
763 ErrorInfo errorInfo = ErrorValidationUtils
764 .parseErrorConfigYaml(ActionStatus.COMPONENT_INVALID_CONTACT.name());
766 assertNotNull("check response object is not null after create service", restResponse);
767 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
768 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
772 public void createServiceProjectName() throws Exception {
774 // choose the user to create service
775 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
777 // fill new service details
778 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
779 serviceDetails.setProjectCode("12345");
781 // clean audit DB before service creation
782 DbUtils.cleanAllAudits();
784 // send create service toward BE
785 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
787 Integer expectedCode = 201;
789 assertNotNull("check response object is not null after create service", restResponse);
790 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
791 assertEquals("Check response code after create service", expectedCode, restResponse.getErrorCode());
792 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
794 assertEquals("12345", service.getProjectCode());
798 public void createAndGetByNameAndVersion() throws Exception {
800 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
803 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
804 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
805 assertEquals("Check response code after create service", 201, restResponse.getErrorCode().intValue());
808 restResponse = ServiceRestUtils.getServiceByNameAndVersion(sdncUserDetails, serviceDetails.getName(),
810 assertEquals("Check response code after get service", 200, restResponse.getErrorCode().intValue());
812 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
813 String uniqueId = service.getUniqueId();
814 serviceDetails.setUniqueId(uniqueId);
815 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
816 (LifecycleStateEnum) null);
823 public void createServiceIsVNF_isFalse() throws Exception {
825 // choose the user to create service
826 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
827 // new service details
828 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
830 // clean audit DB before service creation
831 DbUtils.cleanAllAudits();
833 // send create service toward BE
834 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
835 assertNotNull("check response object is not null after create service", restResponse);
836 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
837 assertEquals("Check response code after updating Interface Artifact", 201,
838 restResponse.getErrorCode().intValue());
840 // get service and verify that service created with isVNF defined in
842 RestResponse serviceByNameAndVersion = ServiceRestUtils.getServiceByNameAndVersion(sdncUserDetails,
843 serviceDetails.getName(), serviceBaseVersion);
844 Service serviceObject = ResponseParser
845 .convertServiceResponseToJavaObject(serviceByNameAndVersion.getResponse());
846 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, serviceObject, sdncUserDetails,
847 LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
850 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
851 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
852 String auditAction = "Create";
853 expectedResourceAuditJavaObject.setPrevState("");
854 expectedResourceAuditJavaObject.setPrevVersion("");
855 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
856 expectedResourceAuditJavaObject.setStatus("201");
857 expectedResourceAuditJavaObject.setDesc("OK");
858 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
863 public void createServiceIsVNF_isTrue() throws Exception {
865 // choose the user to create service
866 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
867 // new service details
868 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
870 // clean audit DB before service creation
871 DbUtils.cleanAllAudits();
873 // send create service toward BE
874 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
875 assertNotNull("check response object is not null after create service", restResponse);
876 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
877 assertEquals("Check response code after updating Interface Artifact", 201,
878 restResponse.getErrorCode().intValue());
880 // get service and verify that service created with isVNF defined in
882 RestResponse serviceByNameAndVersion = ServiceRestUtils.getServiceByNameAndVersion(sdncUserDetails,
883 serviceDetails.getName(), serviceBaseVersion);
884 Service serviceObject = ResponseParser
885 .convertServiceResponseToJavaObject(serviceByNameAndVersion.getResponse());
886 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, serviceObject, sdncUserDetails,
887 LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
890 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
891 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
892 String auditAction = "Create";
893 expectedResourceAuditJavaObject.setPrevState("");
894 expectedResourceAuditJavaObject.setPrevVersion("");
895 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
896 expectedResourceAuditJavaObject.setStatus("201");
897 expectedResourceAuditJavaObject.setDesc("OK");
898 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
902 @Test(enabled = false)
903 public void createServiceIsVNF_isNull() throws Exception {
905 // choose the user to create service
906 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
907 // new service details
908 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
910 // clean audit DB before service creation
911 DbUtils.cleanAllAudits();
912 // send create service toward BE
913 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
914 assertNotNull("check response object is not null after create service", restResponse);
915 assertEquals("Check response code after updating Interface Artifact", 400,
916 restResponse.getErrorCode().intValue());
917 List<String> variables = Arrays.asList("VNF Service Indicator");
918 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_DATA.name(), variables,
919 restResponse.getResponse());
922 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name());
923 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
924 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
925 String auditAction = "Create";
926 expectedResourceAuditJavaObject.setAction(auditAction);
927 expectedResourceAuditJavaObject.setPrevState("");
928 expectedResourceAuditJavaObject.setPrevVersion("");
929 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
930 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
931 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("VNF Service Indicator"));
932 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
936 @Test(enabled = false)
937 public void createServiceEmptyIsVNF() throws Exception {
939 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
941 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
943 DbUtils.cleanAllAudits();
945 // send create service toward BE
946 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
948 assertNotNull("check response object is not null after create service", restResponse);
949 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
950 assertEquals("Check response code after create service", restResponse.getErrorCode(),
951 restResponse.getErrorCode());
953 // validate create service response vs actual
954 List<String> variables = Arrays.asList("VNF Service Indicator");
955 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_DATA.name(), variables,
956 restResponse.getResponse());
959 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name());
960 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
961 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
963 String auditAction = "Create";
964 expectedResourceAuditJavaObject.setAction(auditAction);
965 expectedResourceAuditJavaObject.setPrevState("");
966 expectedResourceAuditJavaObject.setPrevVersion("");
967 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
968 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
969 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
970 expectedResourceAuditJavaObject.setDesc(auditDesc);
972 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
976 private RestResponse createServiceWithMissingAttribute(String serviceDetails, User sdncModifierDetails)
979 Config config = Utils.getConfig();
981 Map<String, String> headersMap = ServiceRestUtils.prepareHeadersMap(sdncModifierDetails, false);
982 headersMap.put(HttpHeaderEnum.CACHE_CONTROL.getValue(), "no-cache");
984 HttpRequest http = new HttpRequest();
985 String url = String.format(Urls.CREATE_SERVICE, config.getCatalogBeHost(), config.getCatalogBePort());
986 // TODO: ADD AUTHENTICATION IN REQUEST
988 logger.debug("Send POST request to create service: {}", url);
989 logger.debug("Service body: {}", serviceDetails);
990 logger.debug("Service headers: {}", headersMap);
991 RestResponse sendCreateUserRequest = http.httpSendPost(url, serviceDetails, headersMap);
993 return sendCreateUserRequest;
998 @Test(enabled = false)
999 public void createServiceVersion_isVNFDoesNotExistInJson() throws Exception {
1001 // choose the user to create service
1002 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
1003 // new service details
1004 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
1005 // clean audit DB before updating service
1006 DbUtils.cleanAllAudits();
1008 // remove isVNF from json sent to create service
1009 JSONObject jObject = new JSONObject(serviceDetails);
1010 jObject.remove("VNF");
1012 // send create service toward BE
1013 RestResponse restResponse = createServiceWithMissingAttribute(jObject.toString(), sdncUserDetails);
1014 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
1015 assertEquals("Check response code after updating Interface Artifact", 400,
1016 restResponse.getErrorCode().intValue());
1017 List<String> variables = new ArrayList<String>();
1018 variables.add("VNF Service Indicator");
1019 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_DATA.name(), variables,
1020 restResponse.getResponse());
1023 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name());
1024 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
1025 .constructFieldsForAuditValidation(serviceDetails, "0.1", sdncUserDetails);
1026 String auditAction = "Create";
1027 expectedResourceAuditJavaObject.setPrevState("");
1028 expectedResourceAuditJavaObject.setPrevVersion("");
1029 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1030 // expectedResourceAuditJavaObject.setStatus("201");
1031 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
1032 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("VNF Service Indicator"));
1033 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
1038 public void checkInvariantUuidIsImmutable() throws Exception {
1039 // choose the user to create service
1040 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
1041 Component resourceDetailsVFCcomp = AtomicOperationUtils
1042 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.ADMIN, true).left().value();
1043 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.ADMIN,
1045 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.ADMIN,
1046 LifeCycleStatesEnum.CERTIFY, true);
1048 // fill new service details
1049 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
1050 String invariantUuidDefinedByUser = "!!!!!!!!!!!!!!!!!!!!!!!!";
1051 serviceDetails.setInvariantUUID(invariantUuidDefinedByUser);
1054 RestResponse restResponseCreation = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
1055 BaseRestUtils.checkStatusCode(restResponseCreation, "create request failed", false, 201);
1056 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponseCreation.getResponse());
1057 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, service,
1058 UserRoleEnum.ADMIN, true);
1060 String invariantUUIDcreation = service.getInvariantUUID();
1062 // validate get service response vs actual
1063 RestResponse restResponseGetting = ServiceRestUtils.getService(serviceDetails, sdncUserDetails);
1064 BaseRestUtils.checkSuccess(restResponseGetting);
1065 service = ResponseParser.convertServiceResponseToJavaObject(restResponseGetting.getResponse());
1066 String invariantUUIDgetting = service.getInvariantUUID();
1068 assertEquals(invariantUUIDcreation, invariantUUIDgetting);
1070 // Update service with new invariant UUID
1071 RestResponse restResponseUpdate = ServiceRestUtils.updateService(serviceDetails, sdncUserDetails);
1072 BaseRestUtils.checkSuccess(restResponseUpdate);
1073 Service updatedService = ResponseParser.convertServiceResponseToJavaObject(restResponseUpdate.getResponse());
1074 String invariantUUIDupdating = updatedService.getInvariantUUID();
1075 assertEquals(invariantUUIDcreation, invariantUUIDupdating);
1078 RestResponse restResponseCheckin = LifecycleRestUtils.changeServiceState(serviceDetails, sdncUserDetails,
1079 serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN);
1080 BaseRestUtils.checkSuccess(restResponseCheckin);
1081 Service checkinService = ResponseParser.convertServiceResponseToJavaObject(restResponseCheckin.getResponse());
1082 String invariantUUIDcheckin = checkinService.getInvariantUUID();
1083 String version = checkinService.getVersion();
1084 assertEquals(invariantUUIDcreation, invariantUUIDcheckin);
1085 assertEquals(version, "0.1");
1088 RestResponse restResponseCheckout = LifecycleRestUtils.changeServiceState(serviceDetails, sdncUserDetails,
1089 serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
1090 BaseRestUtils.checkSuccess(restResponseCheckout);
1091 Service checkoutService = ResponseParser.convertServiceResponseToJavaObject(restResponseCheckout.getResponse());
1092 String invariantUUIDcheckout = checkoutService.getInvariantUUID();
1093 version = checkoutService.getVersion();
1094 assertEquals(invariantUUIDcreation, invariantUUIDcheckout);
1095 assertEquals(version, "0.2");
1097 // do certification request
1098 RestResponse restResponseCertificationRequest = LifecycleRestUtils.changeServiceState(serviceDetails,
1099 sdncUserDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1100 BaseRestUtils.checkSuccess(restResponseCertificationRequest);
1101 Service certificationRequestService = ResponseParser
1102 .convertServiceResponseToJavaObject(restResponseCertificationRequest.getResponse());
1103 String invariantUUIDcertificationRequest = certificationRequestService.getInvariantUUID();
1104 version = certificationRequestService.getVersion();
1105 assertEquals(invariantUUIDcreation, invariantUUIDcertificationRequest);
1106 assertEquals(version, "0.2");
1108 // start certification
1109 RestResponse restResponseStartCertification = LifecycleRestUtils.changeServiceState(serviceDetails,
1110 sdncUserDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.STARTCERTIFICATION);
1111 BaseRestUtils.checkSuccess(restResponseStartCertification);
1112 Service startCertificationRequestService = ResponseParser
1113 .convertServiceResponseToJavaObject(restResponseStartCertification.getResponse());
1114 String invariantUUIDStartCertification = startCertificationRequestService.getInvariantUUID();
1115 version = startCertificationRequestService.getVersion();
1116 assertEquals(invariantUUIDcreation, invariantUUIDStartCertification);
1117 assertEquals(version, "0.2");
1120 RestResponse restResponseCertify = LifecycleRestUtils.changeServiceState(serviceDetails, sdncUserDetails,
1121 serviceDetails.getVersion(), LifeCycleStatesEnum.CERTIFY);
1122 BaseRestUtils.checkSuccess(restResponseCertify);
1123 Service certifyService = ResponseParser.convertServiceResponseToJavaObject(restResponseCertify.getResponse());
1124 String invariantUUIDcertify = certifyService.getInvariantUUID();
1125 version = certifyService.getVersion();
1126 assertEquals(invariantUUIDcreation, invariantUUIDcertify);
1127 assertEquals(version, "1.0");
1132 private void getServiceValidateInvariantUuid(String serviceUniqueId, String invariantUUIDcreation)
1134 RestResponse getService = ServiceRestUtils.getService(serviceUniqueId,
1135 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
1136 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, getService.getErrorCode().intValue());
1137 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(getService));
1140 @Test // invariantUUID generated when the component is created and never
1142 public void serviceInvariantUuid() throws Exception {
1143 User designerUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
1144 User testerUser = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
1145 User pmUser = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1);
1146 Component resourceDetailsVFCcomp = AtomicOperationUtils
1147 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value();
1148 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
1150 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
1151 LifeCycleStatesEnum.CERTIFY, true);
1153 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
1154 serviceDetails.setInvariantUUID("123456");
1155 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, designerUser);
1156 assertEquals("Check response code after create resource", BaseRestUtils.STATUS_CODE_CREATED,
1157 restResponse.getErrorCode().intValue());
1158 Service service = ResponseParser.parseToObjectUsingMapper(restResponse.getResponse(), Service.class);
1159 // invariantUUID generated when the component is created and never
1161 String invariantUUIDcreation = ResponseParser.getInvariantUuid(restResponse);
1162 // Add VF instance to service
1163 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, service,
1164 UserRoleEnum.DESIGNER, true);
1165 // get resource and verify InvariantUuid is not changed
1166 getServiceValidateInvariantUuid(service.getUniqueId(), invariantUUIDcreation);
1168 // Update service with new invariant UUID
1169 restResponse = ServiceRestUtils.updateService(serviceDetails, designerUser);
1170 assertEquals("Check response code after create resource", BaseRestUtils.STATUS_CODE_SUCCESS,
1171 restResponse.getErrorCode().intValue());
1172 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1173 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1176 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser, LifeCycleStatesEnum.CHECKIN);
1177 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1178 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1179 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1182 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1183 LifeCycleStatesEnum.CHECKOUT);
1184 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1185 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1186 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1188 // certification request
1189 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1190 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1191 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1192 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1193 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1195 // start certification
1196 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1197 LifeCycleStatesEnum.STARTCERTIFICATION);
1198 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1199 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1200 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1203 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser, LifeCycleStatesEnum.CERTIFY);
1204 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1205 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1206 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1209 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1210 LifeCycleStatesEnum.CHECKOUT);
1211 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1212 serviceDetails.setDescription("updatedDescription");
1213 restResponse = ServiceRestUtils.updateService(serviceDetails, designerUser);
1214 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1215 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1216 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1218 // certification request
1219 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1220 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1221 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1222 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1223 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1226 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1227 LifeCycleStatesEnum.CHECKOUT);
1228 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1229 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1230 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1232 // certification request
1233 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1234 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1235 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1236 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1237 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1239 // start certification
1240 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1241 LifeCycleStatesEnum.STARTCERTIFICATION);
1242 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1243 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1244 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1246 // cancel certification
1247 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1248 LifeCycleStatesEnum.CANCELCERTIFICATION);
1249 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1250 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1251 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1253 // start certification
1254 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1255 LifeCycleStatesEnum.STARTCERTIFICATION);
1256 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1257 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1258 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1261 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1262 LifeCycleStatesEnum.FAILCERTIFICATION);
1263 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1264 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1265 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1268 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1269 LifeCycleStatesEnum.CHECKOUT);
1270 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1271 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1272 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1275 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser, LifeCycleStatesEnum.CHECKIN);
1276 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1277 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1278 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1281 ProductReqDetails productDetails = ElementFactory.getDefaultProduct();
1282 RestResponse createProductResponse = ProductRestUtils.createProduct(productDetails, pmUser);
1283 assertEquals(BaseRestUtils.STATUS_CODE_CREATED, createProductResponse.getErrorCode().intValue());
1284 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory
1285 .getComponentResourceInstance(serviceDetails);
1286 RestResponse createServiceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1287 serviceInstanceReqDetails, pmUser, productDetails.getUniqueId(), ComponentTypeEnum.PRODUCT);
1288 assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_CREATED,
1289 createServiceInstanceResponse.getErrorCode().intValue());
1290 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);