666da25fe73ae2bfce1786741c819f7314a81a5e
[so.git] /
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP - SO\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  *\r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 package org.openecomp.mso.apihandlerinfra;\r
21 \r
22 import static org.junit.Assert.assertEquals;\r
23 \r
24 import static org.junit.Assert.assertFalse;\r
25 import static org.junit.Assert.assertTrue;\r
26 import static org.junit.Assert.fail;\r
27 \r
28 import java.io.IOException;\r
29 import java.nio.charset.Charset;\r
30 import java.util.HashMap;\r
31 \r
32 import javax.ws.rs.PathParam;\r
33 import javax.ws.rs.core.Response;\r
34 \r
35 import org.apache.commons.io.IOUtils;\r
36 import org.apache.http.HttpStatus;\r
37 import org.codehaus.jackson.JsonParseException;\r
38 import org.codehaus.jackson.map.JsonMappingException;\r
39 import org.codehaus.jackson.map.ObjectMapper;\r
40 import org.junit.Test;\r
41 import org.mockito.Mockito;\r
42 import org.openecomp.mso.HealthCheckUtils;\r
43 import org.openecomp.mso.apihandler.common.ValidationException;\r
44 import org.openecomp.mso.requestsdb.InfraActiveRequests;\r
45 import org.openecomp.mso.apihandlerinfra.serviceinstancebeans.Request;\r
46 import org.openecomp.mso.apihandlerinfra.serviceinstancebeans.ServiceInstancesRequest;\r
47 \r
48 public class ServiceInstancesTest {\r
49 \r
50         private static final String requestJSONCreate = "{ \"requestDetails\": { \"modelInfo\": { \"modelType\": \"service\", "\r
51                         + "\"modelInvariantId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\","\r
52                         + " \"modelVersionId\": \"fe6985cd-ea33-3346-ac12-ab121484a3fe\", \"modelName\": \"Test\","\r
53                         + " \"modelVersion\": \"1.0\" }, \"cloudConfiguration\": "\r
54                         + "{ \"lcpCloudRegionId\": \"mdt1\", \"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\" },"\r
55                         + " \"subscriberInfo\": { \"globalSubscriberId\": \"{some subscriber id}\","\r
56                         + " \"subscriberName\": \"{some subscriber name}\" },"\r
57                         + " \"requestInfo\": { \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", "\r
58                         + "\"source\": \"VID\", \"suppressRollback\": true, \"requestorId\": \"az2016\" },"\r
59                         + " \"requestParameters\": { \"subscriptionServiceType\": \"MOG\", \"aLaCarte\": false,"\r
60                         + " \"userParams\": [ { \"name\": \"someUserParam\", \"value\": \"someValue\" } ] } } } ";\r
61         \r
62         private static final String requestJSONActivateDeacivate =\r
63                         "{ \"requestDetails\": { \"modelInfo\": { \"modelType\": \"service\","\r
64                         + " \"modelInvariantId\": \"ff3514e3-5a33-55df-13ab-12abad84e7ff\", "\r
65                         + "\"modelVersionId\": \"fe6985cd-ea33-3346-ac12-ab121484a3fe\", "\r
66                         + "\"modelName\": \"Test\", \"modelVersion\": \"1.0\" }, "\r
67                         + "\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"az2016\" }, "\r
68                         + "\"requestParameters\": { \"userParams\": [ { \"name\": \"aic_zone\", "\r
69                         + "\"value\": \"someValue\" } ] } } } ";\r
70 \r
71         private static final String requestJSONDelete =\r
72                         "{ \"requestDetails\": { \"modelInfo\": { \"modelType\":\"network\", "\r
73                         + "\"modelName\":\"CONTRAIL30_BASIC\" }, \"cloudConfiguration\": { \"lcpCloudRegionId\":\"mdt1\", "\r
74                         + "\"tenantId\":\"8b1df54faa3b49078e3416e21370a3ba\" }, "\r
75                         + "\"requestInfo\": { \"source\":\"VID\", \"requestorId\":\"az2016\" } } }";\r
76         \r
77         @Test\r
78         public void testCreateServiceInstance()\r
79                         throws JsonParseException, JsonMappingException, IOException, ValidationException {\r
80                 final String CHECK_HTML = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title></title></head><body></body></html>";\r
81                 final Response SERVICE_RESPONSE = Response.status(HttpStatus.SC_OK).entity(CHECK_HTML).build();\r
82 \r
83                 try {\r
84                         ServiceInstances sir = Mockito.mock(ServiceInstances.class);\r
85                         sir.createServiceInstance(requestJSONCreate, "v3");\r
86                         Mockito.when(sir.createServiceInstance(requestJSONCreate, "v3")).thenReturn(SERVICE_RESPONSE);\r
87                         Response resp = sir.createServiceInstance(requestJSONCreate, "v3");\r
88                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);\r
89                 } catch (Exception e) {\r
90 \r
91                         e.printStackTrace();\r
92                 }\r
93         }\r
94 \r
95         @Test\r
96         public void testActivateServiceInstance()\r
97                         throws JsonParseException, JsonMappingException, IOException, ValidationException {\r
98                 final String CHECK_HTML = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title></title></head><body></body></html>";\r
99                 final Response SERVICE_RESPONSE = Response.status(HttpStatus.SC_OK).entity(CHECK_HTML).build();\r
100                 try {\r
101                         ServiceInstances sir = Mockito.mock(ServiceInstances.class);\r
102                         Mockito.when(sir.activateServiceInstance(requestJSONActivateDeacivate, "v5", "3eecada1-83a4-4f33-9ed2-7937e7b8dbbc"))\r
103                                         .thenReturn(SERVICE_RESPONSE);\r
104                         Response resp = sir.activateServiceInstance(requestJSONActivateDeacivate, "v5", "3eecada1-83a4-4f33-9ed2-7937e7b8dbbc");\r
105                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);\r
106                 } catch (Exception e) {\r
107 \r
108                         e.printStackTrace();\r
109                 }\r
110         }\r
111 \r
112         @Test\r
113         public void testDeactivateServiceInstance()\r
114                         throws JsonParseException, JsonMappingException, IOException, ValidationException {\r
115                 final String CHECK_HTML = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title></title></head><body></body></html>";\r
116                 final Response SERVICE_RESPONSE = Response.status(HttpStatus.SC_OK).entity(CHECK_HTML).build();\r
117                 try {\r
118                         ServiceInstances sir = Mockito.mock(ServiceInstances.class);\r
119                         Mockito.when(sir.deactivateServiceInstance(requestJSONActivateDeacivate, "v5", "3eecada1-83a4-4f33-9ed2-7937e7b8dbbc"))\r
120                                         .thenReturn(SERVICE_RESPONSE);\r
121                         Response resp = sir.deactivateServiceInstance(requestJSONActivateDeacivate, "v5", "3eecada1-83a4-4f33-9ed2-7937e7b8dbbc");\r
122                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);\r
123                 } catch (Exception e) {\r
124 \r
125                         e.printStackTrace();\r
126                 }\r
127         }\r
128 \r
129         @Test\r
130         public void testDeleteServiceInstance()\r
131                         throws JsonParseException, JsonMappingException, IOException, ValidationException {\r
132                 final String CHECK_HTML = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title>Health Check</title></head><body>Application ready</body></html>";\r
133                 final Response SERVICE_RESPONSE = Response.status(HttpStatus.SC_OK).entity(CHECK_HTML).build();\r
134                 try {\r
135                         ServiceInstances sir = Mockito.mock(ServiceInstances.class);\r
136                         Mockito.when(sir.deleteServiceInstance(requestJSONDelete, "v5", "3eecada1-83a4-4f33-9ed2-7937e7b8dbbc"))\r
137                                         .thenReturn(SERVICE_RESPONSE);\r
138                         Response resp = sir.deleteServiceInstance(requestJSONDelete, "v5", "3eecada1-83a4-4f33-9ed2-7937e7b8dbbc");\r
139                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);\r
140                 } catch (Exception e) {\r
141 \r
142                         e.printStackTrace();\r
143                 }\r
144         }\r
145 \r
146 }\r