AT&T 1712 and 1802 release code
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / openecomp / mso / apihandlerinfra / tenantisolationbeans / CloudOrchestrationTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.mso.apihandlerinfra.tenantisolationbeans;
22
23 import static org.junit.Assert.assertEquals;
24
25 import java.io.IOException;
26
27 import javax.ws.rs.core.Response;
28
29 import org.apache.http.HttpStatus;
30 import org.junit.Test;
31 import org.mockito.Mockito;
32 import org.openecomp.mso.apihandler.common.ValidationException;
33 import org.openecomp.mso.apihandlerinfra.tenantisolation.CloudOrchestration;
34
35 import com.fasterxml.jackson.core.JsonParseException;
36 import com.fasterxml.jackson.databind.JsonMappingException;
37
38 public class CloudOrchestrationTest {
39
40         private static final String requestJSONCreate = "{\"requestDetails\": {\"requestInfo\": {\"resourceType\": \"operationalEnvironment\",\"instanceName\": "
41                                                                                                         + "\"myOpEnv\",\"source\": \"VID\",\"requestorId\": \"az2017\"},\"requestParameters\": {\"operationalEnvironmentType\": \"ECOMP\",      "
42                                                                                                         + "\"tenantContext\": \"Test\",\"workloadContext\": \"ECOMP_E2E-IST\"}}} ";
43         
44         private static final String requestJsonActivate = "{\"requestDetails\": {\"requestInfo\": {\"resourceType\": \"operationalEnvironment\","
45                                                                                                                 + "\"instanceName\": \"myVnfOpEnv\",\"source\": \"VID\",\"requestorId\": \"az2017\"},"
46                                                                                                                 + "\"relatedInstanceList\": [{\"relatedInstance\": {\"resourceType\": \"operationalEnvironment\","
47                                                                                                                 + "\"instanceId\": \"ff305d54-75b4-431b-adb2-eb6b9e5ff000\",\"instanceName\": \"name\"}}],"
48                                                                                                                 + "\"requestParameters\": {     \"operationalEnvironmentType\": \"VNF\",\"workloadContext\": \"VNF_E2E-IST\","
49                                                                                                                 + "\"manifest\": {\"serviceModelList\": [{\"serviceModelVersionId\": \"ff305d54-75b4-431b-adb2-eb6b9e5ff000\","
50                                                                                                                 + "\"recoveryAction\": \"abort\"},{\"serviceModelVersionId\": \"ff305d54-75b4-431b-adb2-eb6b9e5ff000\","
51                                                                                                                 + "\"recoveryAction\": \"retry\"}]}     }}}";
52         
53         private static final String requestJsonDeactivate = "{\"requestDetails\": {\"requestInfo\": {\"resourceType\": \"operationalEnvironment\","
54                                                                                                                 + "\"source\": \"VID\",\"requestorId\": \"az2017\"},\"requestParameters\": "
55                                                                                                                 + "{\"operationalEnvironmentType\": \"VNF\"}}}";
56         
57         @Test
58         public void testCreateOperationEnvironment()
59                         throws JsonParseException, JsonMappingException, IOException, ValidationException {
60                 final String response = "{\"requestId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\","
61                                                                         + "\"instanceId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\"}";
62                 final Response okResponse = Response.status(HttpStatus.SC_OK).entity(response).build();
63
64                 try {
65                         CloudOrchestration cor = Mockito.mock(CloudOrchestration.class);
66                         cor.createOperationEnvironment(requestJSONCreate, "v1");
67                         Mockito.when(cor.createOperationEnvironment(requestJSONCreate, "v1")).thenReturn(okResponse);
68                         Response resp = cor.createOperationEnvironment(requestJSONCreate, "v1");
69                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);
70                 } catch (Exception e) {
71
72                         e.printStackTrace();
73                 }
74         }
75         
76         @Test
77         public void testActivateOperationEnvironment()
78                         throws JsonParseException, JsonMappingException, IOException, ValidationException {
79                 final String response = "{\"requestId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\","
80                                                                         + "\"instanceId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\"}";
81                 final Response okResponse = Response.status(HttpStatus.SC_OK).entity(response).build();
82
83                 try {
84                         CloudOrchestration cor = Mockito.mock(CloudOrchestration.class);
85                         cor.activateOperationEnvironment(requestJsonActivate, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff");
86                         Mockito.when(cor.activateOperationEnvironment(requestJsonActivate, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff")).thenReturn(okResponse);
87                         Response resp = cor.activateOperationEnvironment(requestJsonActivate, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff");
88                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);
89                 } catch (Exception e) {
90
91                         e.printStackTrace();
92                 }
93         }
94         
95         @Test
96         public void testDeactivateOperationEnvironment()
97                         throws JsonParseException, JsonMappingException, IOException, ValidationException {
98                 final String response = "{\"requestId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\","
99                                                                         + "\"instanceId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\"}";
100                 final Response okResponse = Response.status(HttpStatus.SC_OK).entity(response).build();
101
102                 try {
103                         CloudOrchestration cor = Mockito.mock(CloudOrchestration.class);
104                         cor.deactivateOperationEnvironment(requestJsonDeactivate, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff");
105                         Mockito.when(cor.deactivateOperationEnvironment(requestJsonDeactivate, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff")).thenReturn(okResponse);
106                         Response resp = cor.deactivateOperationEnvironment(requestJsonDeactivate, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff");
107                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);
108                 } catch (Exception e) {
109
110                         e.printStackTrace();
111                 }
112         }
113 }