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 static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertNotNull;
26 import java.util.ArrayList;
27 import java.util.Arrays;
28 import java.util.List;
31 import org.json.JSONObject;
32 import org.junit.Rule;
33 import org.junit.rules.TestName;
34 import org.openecomp.sdc.be.dao.api.ActionStatus;
35 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
36 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
37 import org.openecomp.sdc.be.model.Component;
38 import org.openecomp.sdc.be.model.LifecycleStateEnum;
39 import org.openecomp.sdc.be.model.Service;
40 import org.openecomp.sdc.be.model.User;
41 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
42 import org.openecomp.sdc.ci.tests.api.Urls;
43 import org.openecomp.sdc.ci.tests.config.Config;
44 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
45 import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails;
46 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
47 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
48 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
49 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
50 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
51 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
52 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
53 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
54 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
55 import org.openecomp.sdc.ci.tests.utils.DbUtils;
56 import org.openecomp.sdc.ci.tests.utils.Utils;
57 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
58 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
59 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
60 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
61 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
62 import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
63 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
64 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
65 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
66 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
67 import org.openecomp.sdc.ci.tests.utils.validation.ServiceValidationUtils;
68 import org.slf4j.Logger;
69 import org.slf4j.LoggerFactory;
70 import org.testng.annotations.Test;
72 import com.fasterxml.jackson.annotation.JsonIgnore;
74 public class CreateServiceMetadataApiTest extends ComponentBaseTest {
75 private static Logger logger = LoggerFactory.getLogger(CreateServiceMetadataApiTest.class.getName());
77 String serviceBaseVersion = "0.1";
80 public static TestName name = new TestName();
82 public CreateServiceMetadataApiTest() {
83 super(name, CreateServiceMetadataApiTest.class.getName());
87 public void createDefaultService() throws Exception {
89 // choose the user to create service
90 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
92 // ElementFactory.getDefaultUser(UserRoleEnum.ADMIN).getUserId();
94 // fill new service details
95 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
97 // clean audit DB before service creation
98 DbUtils.cleanAllAudits();
100 // send create service toward BE
101 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
103 assertNotNull("check response object is not null after create service", restResponse);
104 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
105 assertEquals("Check response code after create service", 201, restResponse.getErrorCode().intValue());
107 // validate create service response vs actual
109 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
110 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
111 (LifecycleStateEnum) null);
113 // validate get service response vs actual
114 restResponse = ServiceRestUtils.getService(serviceDetails, sdncUserDetails);
115 service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
116 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
117 (LifecycleStateEnum) null);
121 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
122 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
124 String auditAction = "Create";
125 expectedResourceAuditJavaObject.setAction(auditAction);
126 expectedResourceAuditJavaObject.setPrevState("");
127 expectedResourceAuditJavaObject.setPrevVersion("");
128 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
129 expectedResourceAuditJavaObject.setStatus("201");
130 expectedResourceAuditJavaObject.setDesc("OK");
132 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
137 public void createDefaultServiceUserDesigner() throws Exception {
139 // choose the user to create service
140 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
142 // fill new service details
143 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
145 // clean audit DB before service creation
146 DbUtils.cleanAllAudits();
148 // send create service toward BE
149 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
151 assertNotNull("check response object is not null after create service", restResponse);
152 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
153 assertEquals("Check response code after create service", 201, restResponse.getErrorCode().intValue());
155 // validate create service response vs actual
157 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
158 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
159 (LifecycleStateEnum) null);
161 // validate get service response vs actual
162 restResponse = ServiceRestUtils.getService(serviceDetails, sdncUserDetails);
163 service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
167 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
168 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
170 String auditAction = "Create";
171 expectedResourceAuditJavaObject.setAction(auditAction);
172 expectedResourceAuditJavaObject.setPrevState("");
173 expectedResourceAuditJavaObject.setPrevVersion("");
174 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
175 expectedResourceAuditJavaObject.setStatus("201");
176 expectedResourceAuditJavaObject.setDesc("OK");
178 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
183 public void createServiceUserNotFound() throws Exception {
185 // choose the user to create service
186 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
187 sdncUserDetails.setUserId("no1234");
189 // fill new service details
190 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
192 // clean audit DB before service creation
193 DbUtils.cleanAllAudits();
195 // send create service toward BE
196 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
198 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
200 assertNotNull("check response object is not null after create service", restResponse);
201 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
202 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
204 // validate create service response vs actual
206 List<String> variables = Arrays.asList();
207 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
208 restResponse.getResponse());
212 sdncUserDetails.setFirstName("");
213 sdncUserDetails.setLastName("");
214 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
215 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
217 String auditAction = "Create";
218 expectedResourceAuditJavaObject.setAction(auditAction);
219 expectedResourceAuditJavaObject.setPrevState("");
220 expectedResourceAuditJavaObject.setPrevVersion("");
221 expectedResourceAuditJavaObject.setCurrVersion("");
222 expectedResourceAuditJavaObject.setCurrState("");
223 expectedResourceAuditJavaObject.setModifierName("");
224 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
226 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
227 expectedResourceAuditJavaObject.setDesc(auditDesc);
229 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
234 public void createServiceUserNotAllowed() throws Exception {
236 // choose the user to create service
237 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
239 // fill new service details
240 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
242 // clean audit DB before service creation
243 DbUtils.cleanAllAudits();
245 // send create service toward BE
246 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
248 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
250 assertNotNull("check response object is not null after create service", restResponse);
251 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
252 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
254 // validate create service response vs actual
256 List<String> variables = Arrays.asList();
257 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
258 restResponse.getResponse());
262 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
263 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
265 String auditAction = "Create";
266 expectedResourceAuditJavaObject.setAction(auditAction);
267 expectedResourceAuditJavaObject.setPrevState("");
268 expectedResourceAuditJavaObject.setPrevVersion("");
269 expectedResourceAuditJavaObject.setCurrVersion("");
270 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
271 expectedResourceAuditJavaObject.setCurrState("");
272 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
274 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
275 expectedResourceAuditJavaObject.setDesc(auditDesc);
277 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
282 public void createServiceEmptyName() throws Exception {
284 // choose the user to create service
285 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
287 // fill new service details
288 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
289 String serviceName = "";
290 serviceDetails.setName(serviceName);
292 // clean audit DB before service creation
293 DbUtils.cleanAllAudits();
295 // send create service toward BE
296 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
298 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_COMPONENT_NAME.name());
300 assertNotNull("check response object is not null after create service", restResponse);
301 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
302 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
304 // validate create service response vs actual
306 List<String> variables = Arrays.asList("Service");
307 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_COMPONENT_NAME.name(), variables,
308 restResponse.getResponse());
312 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
313 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
315 String auditAction = "Create";
316 expectedResourceAuditJavaObject.setAction(auditAction);
317 expectedResourceAuditJavaObject.setPrevState("");
318 expectedResourceAuditJavaObject.setPrevVersion("");
319 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
320 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
322 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
323 expectedResourceAuditJavaObject.setDesc(auditDesc);
325 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
330 public void createServiceEmptyCategory() throws Exception {
332 // choose the user to create service
333 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
335 // fill new service details
336 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
337 String category = "";
339 serviceDetails.setCategories(null);
340 // serviceDetails.addCategory(category);
342 // clean audit DB before service creation
343 DbUtils.cleanAllAudits();
345 // send create service toward BE
346 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
348 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_CATEGORY.name());
350 assertNotNull("check response object is not null after create service", restResponse);
351 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
352 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
354 // validate create service response vs actual
356 List<String> variables = Arrays.asList("Service");
357 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_MISSING_CATEGORY.name(), variables,
358 restResponse.getResponse());
362 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
363 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
365 String auditAction = "Create";
366 expectedResourceAuditJavaObject.setAction(auditAction);
367 expectedResourceAuditJavaObject.setPrevState("");
368 expectedResourceAuditJavaObject.setPrevVersion("");
369 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
370 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
372 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
373 expectedResourceAuditJavaObject.setDesc(auditDesc);
375 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
380 public void createServiceEmptyTag() throws Exception {
382 // choose the user to create service
383 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
385 // fill new service details
386 ArrayList<String> tags = new ArrayList<String>();
388 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
389 serviceDetails.setTags(tags);
391 // clean audit DB before service creation
392 DbUtils.cleanAllAudits();
394 // send create service toward BE
395 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
397 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_FIELD_FORMAT.name());
399 assertNotNull("check response object is not null after create service", restResponse);
400 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
401 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
403 // validate create service response vs actual
405 List<String> variables = Arrays.asList("Service", "tag");
406 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_FIELD_FORMAT.name(), variables,
407 restResponse.getResponse());
411 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
412 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
414 String auditAction = "Create";
415 expectedResourceAuditJavaObject.setAction(auditAction);
416 expectedResourceAuditJavaObject.setPrevState("");
417 expectedResourceAuditJavaObject.setPrevVersion("");
418 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
419 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
421 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
422 expectedResourceAuditJavaObject.setDesc(auditDesc);
424 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
429 public void createServiceEmptyDescription() throws Exception {
431 // choose the user to create service
432 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
434 // fill new service details
435 String description = "";
436 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
437 serviceDetails.setDescription(description);
439 // clean audit DB before service creation
440 DbUtils.cleanAllAudits();
442 // send create service toward BE
443 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
445 ErrorInfo errorInfo = ErrorValidationUtils
446 .parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_DESCRIPTION.name());
448 assertNotNull("check response object is not null after create service", restResponse);
449 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
450 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
452 // validate create service response vs actual
454 List<String> variables = Arrays.asList("Service");
455 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_MISSING_DESCRIPTION.name(), variables,
456 restResponse.getResponse());
460 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
461 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
463 String auditAction = "Create";
464 expectedResourceAuditJavaObject.setAction(auditAction);
465 expectedResourceAuditJavaObject.setPrevState("");
466 expectedResourceAuditJavaObject.setPrevVersion("");
467 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
468 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
470 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
471 expectedResourceAuditJavaObject.setDesc(auditDesc);
473 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
478 public void createServiceEmptyTags() throws Exception {
480 // choose the user to create service
481 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
483 // fill new service details
484 ArrayList<String> tags = new ArrayList<String>();
486 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
487 serviceDetails.setTags(tags);
489 // clean audit DB before service creation
490 DbUtils.cleanAllAudits();
492 // send create service toward BE
493 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
495 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_FIELD_FORMAT.name());
497 assertNotNull("check response object is not null after create service", restResponse);
498 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
499 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
501 // validate create service response vs actual
503 List<String> variables = Arrays.asList("Service", "tag");
504 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_FIELD_FORMAT.name(), variables,
505 restResponse.getResponse());
509 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
510 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
512 String auditAction = "Create";
513 expectedResourceAuditJavaObject.setAction(auditAction);
514 expectedResourceAuditJavaObject.setPrevState("");
515 expectedResourceAuditJavaObject.setPrevVersion("");
516 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
517 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
519 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
520 expectedResourceAuditJavaObject.setDesc(auditDesc);
522 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
527 public void createServiceByPutHttpMethod() throws Exception {
529 String method = "PUT";
531 // choose the user to create service
532 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
534 // fill new service details
535 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
537 // clean audit DB before service creation
538 DbUtils.cleanAllAudits();
540 // send create service toward BE
542 RestResponse restResponse = ServiceRestUtils.createServiceByHttpMethod(serviceDetails, sdncUserDetails, method,
543 Urls.CREATE_SERVICE);
545 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.NOT_ALLOWED.name());
547 assertNotNull("check response object is not null after create service", restResponse);
548 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
549 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
551 // validate create service response vs actual
553 List<String> variables = Arrays.asList();
554 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_ALLOWED.name(), variables,
555 restResponse.getResponse());
559 // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
560 // resourceUtils.constructFieldsForAuditValidation(serviceDetails,
561 // serviceBaseVersion, sdncUserDetails);
563 // String auditAction="Create";
564 // expectedResourceAuditJavaObject.setAction(auditAction);
565 // expectedResourceAuditJavaObject.setPrevState("");
566 // expectedResourceAuditJavaObject.setPrevVersion("");
567 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
568 // expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
570 // String auditDesc =
571 // AuditValidationUtils.buildAuditDescription(errorInfo, variables);
572 // expectedResourceAuditJavaObject.setDesc(auditDesc);
574 // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
580 public void createServiceByDeleteHttpMethod() throws Exception {
582 String method = "DELETE";
584 // choose the user to create service
585 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
587 // fill new service details
588 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
590 // clean audit DB before service creation
591 DbUtils.cleanAllAudits();
593 // send create service toward BE
595 RestResponse restResponse = ServiceRestUtils.createServiceByHttpMethod(serviceDetails, sdncUserDetails, method,
596 Urls.CREATE_SERVICE);
598 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.NOT_ALLOWED.name());
600 assertNotNull("check response object is not null after create service", restResponse);
601 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
602 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
604 // validate create service response vs actual
606 List<String> variables = Arrays.asList();
607 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_ALLOWED.name(), variables,
608 restResponse.getResponse());
612 // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
613 // resourceUtils.constructFieldsForAuditValidation(serviceDetails,
614 // serviceBaseVersion, sdncUserDetails);
616 // String auditAction="Create";
617 // expectedResourceAuditJavaObject.setAction(auditAction);
618 // expectedResourceAuditJavaObject.setPrevState("");
619 // expectedResourceAuditJavaObject.setPrevVersion("");
620 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
621 // expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
623 // String auditDesc =
624 // AuditValidationUtils.buildAuditDescription(errorInfo, variables);
625 // expectedResourceAuditJavaObject.setDesc(auditDesc);
627 // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
633 public void createServiceTagLengthExceedLimit() throws Exception {
635 // choose the user to create service
636 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
638 // fill new service details
639 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
640 StringBuffer tagBuffer = new StringBuffer();
641 for (int i = 0; i < 1025; i++) {
642 tagBuffer.append("a");
644 ArrayList<String> tags = new ArrayList<String>();
645 tags.add(tagBuffer.toString());
646 serviceDetails.setTags(tags);
648 // clean audit DB before service creation
649 DbUtils.cleanAllAudits();
651 // send create service toward BE
653 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
655 ErrorInfo errorInfo = ErrorValidationUtils
656 .parseErrorConfigYaml(ActionStatus.COMPONENT_SINGLE_TAG_EXCEED_LIMIT.name());
658 assertNotNull("check response object is not null after create service", restResponse);
659 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
660 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
662 // validate create service response vs actual
664 List<String> variables = Arrays.asList("50");
665 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_SINGLE_TAG_EXCEED_LIMIT.name(), variables,
666 restResponse.getResponse());
669 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
670 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
671 String auditAction = "Create";
672 expectedResourceAuditJavaObject.setAction(auditAction);
673 expectedResourceAuditJavaObject.setPrevState("");
674 expectedResourceAuditJavaObject.setPrevVersion("");
675 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
676 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
677 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("50"));
678 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
681 * ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
682 * ServiceValidationUtils.constructFieldsForAuditValidation(
683 * serviceDetails, serviceBaseVersion, sdncUserDetails);
685 * String auditAction="Create";
686 * expectedResourceAuditJavaObject.setAction(auditAction);
687 * expectedResourceAuditJavaObject.setPrevState("");
688 * expectedResourceAuditJavaObject.setPrevVersion("");
689 * expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.
690 * NOT_CERTIFIED_CHECKOUT).toString());
691 * expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().
692 * toString()); expectedResourceAuditJavaObject.setDesc(auditDesc);
694 * AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
695 * auditAction, null);
701 public void createServiceAlreadyExistException() throws Exception {
703 // choose the user to create service
704 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
706 // fill new service details
707 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
709 // clean audit DB before service creation
710 DbUtils.cleanAllAudits();
712 // send create service toward BE
713 ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
715 // clean audit DB before service creation
716 DbUtils.cleanAllAudits();
718 // create service with the same name
719 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
721 ErrorInfo errorInfo = ErrorValidationUtils
722 .parseErrorConfigYaml(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name());
724 assertNotNull("check response object is not null after create service", restResponse);
725 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
726 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
728 // validate create service response vs actual
730 List<String> variables = Arrays.asList("Service", serviceDetails.getName());
731 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name(), variables,
732 restResponse.getResponse());
736 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
737 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
739 String auditAction = "Create";
740 expectedResourceAuditJavaObject.setAction(auditAction);
741 expectedResourceAuditJavaObject.setPrevState("");
742 expectedResourceAuditJavaObject.setPrevVersion("");
743 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
744 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
746 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
747 expectedResourceAuditJavaObject.setDesc(auditDesc);
749 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
754 public void createServiceWrongContactId() throws Exception {
756 // choose the user to create service
757 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
759 // fill new service details
760 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
761 serviceDetails.setContactId("123as");
763 // clean audit DB before service creation
764 DbUtils.cleanAllAudits();
766 // send create service toward BE
767 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
769 ErrorInfo errorInfo = ErrorValidationUtils
770 .parseErrorConfigYaml(ActionStatus.COMPONENT_INVALID_CONTACT.name());
772 assertNotNull("check response object is not null after create service", restResponse);
773 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
774 assertEquals("Check response code after create service", errorInfo.getCode(), restResponse.getErrorCode());
778 public void createServiceProjectName() throws Exception {
780 // choose the user to create service
781 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
783 // fill new service details
784 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
785 serviceDetails.setProjectCode("12345");
787 // clean audit DB before service creation
788 DbUtils.cleanAllAudits();
790 // send create service toward BE
791 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
793 Integer expectedCode = 201;
795 assertNotNull("check response object is not null after create service", restResponse);
796 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
797 assertEquals("Check response code after create service", expectedCode, restResponse.getErrorCode());
798 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
800 assertEquals("12345", service.getProjectCode());
804 public void createAndGetByNameAndVersion() throws Exception {
806 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
809 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
810 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
811 assertEquals("Check response code after create service", 201, restResponse.getErrorCode().intValue());
814 restResponse = ServiceRestUtils.getServiceByNameAndVersion(sdncUserDetails, serviceDetails.getName(),
816 assertEquals("Check response code after get service", 200, restResponse.getErrorCode().intValue());
818 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponse.getResponse());
819 String uniqueId = service.getUniqueId();
820 serviceDetails.setUniqueId(uniqueId);
821 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, service, sdncUserDetails,
822 (LifecycleStateEnum) null);
829 public void createServiceIsVNF_isFalse() throws Exception {
831 // choose the user to create service
832 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
833 // new service details
834 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
836 // clean audit DB before service creation
837 DbUtils.cleanAllAudits();
839 // send create service toward BE
840 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
841 assertNotNull("check response object is not null after create service", restResponse);
842 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
843 assertEquals("Check response code after updating Interface Artifact", 201,
844 restResponse.getErrorCode().intValue());
846 // get service and verify that service created with isVNF defined in
848 RestResponse serviceByNameAndVersion = ServiceRestUtils.getServiceByNameAndVersion(sdncUserDetails,
849 serviceDetails.getName(), serviceBaseVersion);
850 Service serviceObject = ResponseParser
851 .convertServiceResponseToJavaObject(serviceByNameAndVersion.getResponse());
852 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, serviceObject, sdncUserDetails,
853 LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
856 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
857 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
858 String auditAction = "Create";
859 expectedResourceAuditJavaObject.setPrevState("");
860 expectedResourceAuditJavaObject.setPrevVersion("");
861 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
862 expectedResourceAuditJavaObject.setStatus("201");
863 expectedResourceAuditJavaObject.setDesc("OK");
864 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
869 public void createServiceIsVNF_isTrue() throws Exception {
871 // choose the user to create service
872 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
873 // new service details
874 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
876 // clean audit DB before service creation
877 DbUtils.cleanAllAudits();
879 // send create service toward BE
880 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
881 assertNotNull("check response object is not null after create service", restResponse);
882 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
883 assertEquals("Check response code after updating Interface Artifact", 201,
884 restResponse.getErrorCode().intValue());
886 // get service and verify that service created with isVNF defined in
888 RestResponse serviceByNameAndVersion = ServiceRestUtils.getServiceByNameAndVersion(sdncUserDetails,
889 serviceDetails.getName(), serviceBaseVersion);
890 Service serviceObject = ResponseParser
891 .convertServiceResponseToJavaObject(serviceByNameAndVersion.getResponse());
892 ServiceValidationUtils.validateServiceResponseMetaData(serviceDetails, serviceObject, sdncUserDetails,
893 LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
896 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
897 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
898 String auditAction = "Create";
899 expectedResourceAuditJavaObject.setPrevState("");
900 expectedResourceAuditJavaObject.setPrevVersion("");
901 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
902 expectedResourceAuditJavaObject.setStatus("201");
903 expectedResourceAuditJavaObject.setDesc("OK");
904 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
908 @Test(enabled = false)
909 public void createServiceIsVNF_isNull() throws Exception {
911 // choose the user to create service
912 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
913 // new service details
914 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
916 // clean audit DB before service creation
917 DbUtils.cleanAllAudits();
918 // send create service toward BE
919 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
920 assertNotNull("check response object is not null after create service", restResponse);
921 assertEquals("Check response code after updating Interface Artifact", 400,
922 restResponse.getErrorCode().intValue());
923 List<String> variables = Arrays.asList("VNF Service Indicator");
924 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_DATA.name(), variables,
925 restResponse.getResponse());
928 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name());
929 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
930 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
931 String auditAction = "Create";
932 expectedResourceAuditJavaObject.setAction(auditAction);
933 expectedResourceAuditJavaObject.setPrevState("");
934 expectedResourceAuditJavaObject.setPrevVersion("");
935 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
936 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
937 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("VNF Service Indicator"));
938 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
942 @Test(enabled = false)
943 public void createServiceEmptyIsVNF() throws Exception {
945 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
947 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
949 DbUtils.cleanAllAudits();
951 // send create service toward BE
952 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
954 assertNotNull("check response object is not null after create service", restResponse);
955 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
956 assertEquals("Check response code after create service", restResponse.getErrorCode(),
957 restResponse.getErrorCode());
959 // validate create service response vs actual
960 List<String> variables = Arrays.asList("VNF Service Indicator");
961 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_DATA.name(), variables,
962 restResponse.getResponse());
965 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name());
966 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
967 .constructFieldsForAuditValidation(serviceDetails, serviceBaseVersion, sdncUserDetails);
969 String auditAction = "Create";
970 expectedResourceAuditJavaObject.setAction(auditAction);
971 expectedResourceAuditJavaObject.setPrevState("");
972 expectedResourceAuditJavaObject.setPrevVersion("");
973 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
974 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
975 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
976 expectedResourceAuditJavaObject.setDesc(auditDesc);
978 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
982 private RestResponse createServiceWithMissingAttribute(String serviceDetails, User sdncModifierDetails)
985 Config config = Utils.getConfig();
987 Map<String, String> headersMap = ServiceRestUtils.prepareHeadersMap(sdncModifierDetails, false);
988 headersMap.put(HttpHeaderEnum.CACHE_CONTROL.getValue(), "no-cache");
990 HttpRequest http = new HttpRequest();
991 String url = String.format(Urls.CREATE_SERVICE, config.getCatalogBeHost(), config.getCatalogBePort());
992 // TODO: ADD AUTHENTICATION IN REQUEST
994 logger.debug("Send POST request to create service: {}", url);
995 logger.debug("Service body: {}", serviceDetails);
996 logger.debug("Service headers: {}", headersMap);
997 RestResponse sendCreateUserRequest = http.httpSendPost(url, serviceDetails, headersMap);
999 return sendCreateUserRequest;
1004 @Test(enabled = false)
1005 public void createServiceVersion_isVNFDoesNotExistInJson() throws Exception {
1007 // choose the user to create service
1008 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
1009 // new service details
1010 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
1011 // clean audit DB before updating service
1012 DbUtils.cleanAllAudits();
1014 // remove isVNF from json sent to create service
1015 JSONObject jObject = new JSONObject(serviceDetails);
1016 jObject.remove("VNF");
1018 // send create service toward BE
1019 RestResponse restResponse = createServiceWithMissingAttribute(jObject.toString(), sdncUserDetails);
1020 assertNotNull("check error code exists in response after create service", restResponse.getErrorCode());
1021 assertEquals("Check response code after updating Interface Artifact", 400,
1022 restResponse.getErrorCode().intValue());
1023 List<String> variables = new ArrayList<String>();
1024 variables.add("VNF Service Indicator");
1025 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_DATA.name(), variables,
1026 restResponse.getResponse());
1029 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name());
1030 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils
1031 .constructFieldsForAuditValidation(serviceDetails, "0.1", sdncUserDetails);
1032 String auditAction = "Create";
1033 expectedResourceAuditJavaObject.setPrevState("");
1034 expectedResourceAuditJavaObject.setPrevVersion("");
1035 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1036 // expectedResourceAuditJavaObject.setStatus("201");
1037 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
1038 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("VNF Service Indicator"));
1039 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
1044 public void checkInvariantUuidIsImmutable() throws Exception {
1045 // choose the user to create service
1046 User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
1047 Component resourceDetailsVFCcomp = AtomicOperationUtils
1048 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.ADMIN, true).left().value();
1049 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.ADMIN,
1051 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.ADMIN,
1052 LifeCycleStatesEnum.CERTIFY, true);
1054 // fill new service details
1055 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
1056 String invariantUuidDefinedByUser = "!!!!!!!!!!!!!!!!!!!!!!!!";
1057 serviceDetails.setInvariantUUID(invariantUuidDefinedByUser);
1060 RestResponse restResponseCreation = ServiceRestUtils.createService(serviceDetails, sdncUserDetails);
1061 BaseRestUtils.checkStatusCode(restResponseCreation, "create request failed", false, 201);
1062 Service service = ResponseParser.convertServiceResponseToJavaObject(restResponseCreation.getResponse());
1063 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, service,
1064 UserRoleEnum.ADMIN, true);
1066 String invariantUUIDcreation = service.getInvariantUUID();
1068 // validate get service response vs actual
1069 RestResponse restResponseGetting = ServiceRestUtils.getService(serviceDetails, sdncUserDetails);
1070 BaseRestUtils.checkSuccess(restResponseGetting);
1071 service = ResponseParser.convertServiceResponseToJavaObject(restResponseGetting.getResponse());
1072 String invariantUUIDgetting = service.getInvariantUUID();
1074 assertEquals(invariantUUIDcreation, invariantUUIDgetting);
1076 // Update service with new invariant UUID
1077 RestResponse restResponseUpdate = ServiceRestUtils.updateService(serviceDetails, sdncUserDetails);
1078 BaseRestUtils.checkSuccess(restResponseUpdate);
1079 Service updatedService = ResponseParser.convertServiceResponseToJavaObject(restResponseUpdate.getResponse());
1080 String invariantUUIDupdating = updatedService.getInvariantUUID();
1081 assertEquals(invariantUUIDcreation, invariantUUIDupdating);
1084 RestResponse restResponseCheckin = LifecycleRestUtils.changeServiceState(serviceDetails, sdncUserDetails,
1085 serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN);
1086 BaseRestUtils.checkSuccess(restResponseCheckin);
1087 Service checkinService = ResponseParser.convertServiceResponseToJavaObject(restResponseCheckin.getResponse());
1088 String invariantUUIDcheckin = checkinService.getInvariantUUID();
1089 String version = checkinService.getVersion();
1090 assertEquals(invariantUUIDcreation, invariantUUIDcheckin);
1091 assertEquals(version, "0.1");
1094 RestResponse restResponseCheckout = LifecycleRestUtils.changeServiceState(serviceDetails, sdncUserDetails,
1095 serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
1096 BaseRestUtils.checkSuccess(restResponseCheckout);
1097 Service checkoutService = ResponseParser.convertServiceResponseToJavaObject(restResponseCheckout.getResponse());
1098 String invariantUUIDcheckout = checkoutService.getInvariantUUID();
1099 version = checkoutService.getVersion();
1100 assertEquals(invariantUUIDcreation, invariantUUIDcheckout);
1101 assertEquals(version, "0.2");
1103 // do certification request
1104 RestResponse restResponseCertificationRequest = LifecycleRestUtils.changeServiceState(serviceDetails,
1105 sdncUserDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1106 BaseRestUtils.checkSuccess(restResponseCertificationRequest);
1107 Service certificationRequestService = ResponseParser
1108 .convertServiceResponseToJavaObject(restResponseCertificationRequest.getResponse());
1109 String invariantUUIDcertificationRequest = certificationRequestService.getInvariantUUID();
1110 version = certificationRequestService.getVersion();
1111 assertEquals(invariantUUIDcreation, invariantUUIDcertificationRequest);
1112 assertEquals(version, "0.2");
1114 // start certification
1115 RestResponse restResponseStartCertification = LifecycleRestUtils.changeServiceState(serviceDetails,
1116 sdncUserDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.STARTCERTIFICATION);
1117 BaseRestUtils.checkSuccess(restResponseStartCertification);
1118 Service startCertificationRequestService = ResponseParser
1119 .convertServiceResponseToJavaObject(restResponseStartCertification.getResponse());
1120 String invariantUUIDStartCertification = startCertificationRequestService.getInvariantUUID();
1121 version = startCertificationRequestService.getVersion();
1122 assertEquals(invariantUUIDcreation, invariantUUIDStartCertification);
1123 assertEquals(version, "0.2");
1126 RestResponse restResponseCertify = LifecycleRestUtils.changeServiceState(serviceDetails, sdncUserDetails,
1127 serviceDetails.getVersion(), LifeCycleStatesEnum.CERTIFY);
1128 BaseRestUtils.checkSuccess(restResponseCertify);
1129 Service certifyService = ResponseParser.convertServiceResponseToJavaObject(restResponseCertify.getResponse());
1130 String invariantUUIDcertify = certifyService.getInvariantUUID();
1131 version = certifyService.getVersion();
1132 assertEquals(invariantUUIDcreation, invariantUUIDcertify);
1133 assertEquals(version, "1.0");
1138 private void getServiceValidateInvariantUuid(String serviceUniqueId, String invariantUUIDcreation)
1140 RestResponse getService = ServiceRestUtils.getService(serviceUniqueId,
1141 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
1142 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, getService.getErrorCode().intValue());
1143 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(getService));
1146 @Test // invariantUUID generated when the component is created and never
1148 public void serviceInvariantUuid() throws Exception {
1149 User designerUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
1150 User testerUser = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
1151 User pmUser = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1);
1152 Component resourceDetailsVFCcomp = AtomicOperationUtils
1153 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value();
1154 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
1156 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
1157 LifeCycleStatesEnum.CERTIFY, true);
1159 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
1160 serviceDetails.setInvariantUUID("123456");
1161 RestResponse restResponse = ServiceRestUtils.createService(serviceDetails, designerUser);
1162 assertEquals("Check response code after create resource", BaseRestUtils.STATUS_CODE_CREATED,
1163 restResponse.getErrorCode().intValue());
1164 Service service = ResponseParser.parseToObjectUsingMapper(restResponse.getResponse(), Service.class);
1165 // invariantUUID generated when the component is created and never
1167 String invariantUUIDcreation = ResponseParser.getInvariantUuid(restResponse);
1168 // Add VF instance to service
1169 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, service,
1170 UserRoleEnum.DESIGNER, true);
1171 // get resource and verify InvariantUuid is not changed
1172 getServiceValidateInvariantUuid(service.getUniqueId(), invariantUUIDcreation);
1174 // Update service with new invariant UUID
1175 restResponse = ServiceRestUtils.updateService(serviceDetails, designerUser);
1176 assertEquals("Check response code after create resource", BaseRestUtils.STATUS_CODE_SUCCESS,
1177 restResponse.getErrorCode().intValue());
1178 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1179 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1182 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser, LifeCycleStatesEnum.CHECKIN);
1183 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1184 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1185 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1188 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1189 LifeCycleStatesEnum.CHECKOUT);
1190 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1191 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1192 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1194 // certification request
1195 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1196 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1197 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1198 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1199 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1201 // start certification
1202 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1203 LifeCycleStatesEnum.STARTCERTIFICATION);
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, testerUser, LifeCycleStatesEnum.CERTIFY);
1210 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1211 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1212 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1215 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1216 LifeCycleStatesEnum.CHECKOUT);
1217 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1218 serviceDetails.setDescription("updatedDescription");
1219 restResponse = ServiceRestUtils.updateService(serviceDetails, designerUser);
1220 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1221 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1222 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1224 // certification request
1225 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1226 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1227 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1228 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1229 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1232 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1233 LifeCycleStatesEnum.CHECKOUT);
1234 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1235 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1236 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1238 // certification request
1239 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1240 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1241 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1242 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1243 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1245 // start certification
1246 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1247 LifeCycleStatesEnum.STARTCERTIFICATION);
1248 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1249 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1250 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1252 // cancel certification
1253 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1254 LifeCycleStatesEnum.CANCELCERTIFICATION);
1255 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1256 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1257 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1259 // start certification
1260 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1261 LifeCycleStatesEnum.STARTCERTIFICATION);
1262 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1263 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1264 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1267 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, testerUser,
1268 LifeCycleStatesEnum.FAILCERTIFICATION);
1269 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1270 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1271 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1274 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser,
1275 LifeCycleStatesEnum.CHECKOUT);
1276 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1277 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1278 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1281 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, designerUser, LifeCycleStatesEnum.CHECKIN);
1282 assertEquals(BaseRestUtils.STATUS_CODE_SUCCESS, restResponse.getErrorCode().intValue());
1283 assertEquals(invariantUUIDcreation, ResponseParser.getInvariantUuid(restResponse));
1284 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);
1287 ProductReqDetails productDetails = ElementFactory.getDefaultProduct();
1288 RestResponse createProductResponse = ProductRestUtils.createProduct(productDetails, pmUser);
1289 assertEquals(BaseRestUtils.STATUS_CODE_CREATED, createProductResponse.getErrorCode().intValue());
1290 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory
1291 .getComponentResourceInstance(serviceDetails);
1292 RestResponse createServiceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1293 serviceInstanceReqDetails, pmUser, productDetails.getUniqueId(), ComponentTypeEnum.PRODUCT);
1294 assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_CREATED,
1295 createServiceInstanceResponse.getErrorCode().intValue());
1296 getServiceValidateInvariantUuid(serviceDetails.getUniqueId(), invariantUUIDcreation);