AT&T 1712 and 1802 release code
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / openecomp / mso / apihandlerinfra / tenantisolation / ModelDistributionRequestTest.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.tenantisolation;\r
22 \r
23 import static org.junit.Assert.assertEquals;\r
24 import static org.junit.Assert.assertTrue;\r
25 import static org.junit.Assert.fail;\r
26 import static org.mockito.Mockito.mock;\r
27 \r
28 import javax.ws.rs.core.Response;\r
29 \r
30 import org.apache.http.HttpStatus;\r
31 import org.junit.Test;\r
32 import org.mockito.Mockito;\r
33 \r
34 public class ModelDistributionRequestTest {\r
35 \r
36         private static final String requestJSON = "{\"status\": \"DISTRIBUTION_COMPLETE_ERROR\", \"errorReason\": \"Distribution failed in AAI\" }";\r
37         \r
38         @Test\r
39         public void testUpdateModelDistributionStatus() {\r
40                 final Response okResponse = Response.status(HttpStatus.SC_OK).build();\r
41 \r
42                 try {\r
43                         ModelDistributionRequest mdr = Mockito.mock(ModelDistributionRequest.class);\r
44                         Mockito.when(mdr.updateModelDistributionStatus(requestJSON, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff")).thenReturn(okResponse);\r
45                         Response resp = mdr.updateModelDistributionStatus(requestJSON, "v1", "ff3514e3-5a33-55df-13ab-12abad84e7ff");\r
46                         assertEquals(resp.getStatus(), HttpStatus.SC_OK);\r
47                 } catch (Exception e) {\r
48                         fail("Exception caught: " + e.getMessage());\r
49                 }\r
50         }\r
51         \r
52         @Test\r
53         public void testObjectMapperError() {\r
54                 ModelDistributionRequest request = new ModelDistributionRequest();\r
55                 Response response = request.updateModelDistributionStatus(null, null, null);\r
56                 String body = response.getEntity().toString();\r
57                 assertTrue(body.contains("Mapping of request to JSON object failed."));\r
58                 assertEquals(400, response.getStatus());\r
59         }\r
60         \r
61         @Test\r
62         public void testParseError1() {\r
63                 String requestErrorJSON = "{\"errorReason\": \"Distribution failed in AAI\" }";\r
64 \r
65                 ModelDistributionRequest request = new ModelDistributionRequest();\r
66                 Response response = request.updateModelDistributionStatus(requestErrorJSON, null, null);\r
67                 String body = response.getEntity().toString();\r
68                 assertTrue(body.contains("Error parsing request."));\r
69                 assertEquals(400, response.getStatus());\r
70         }\r
71         \r
72         @Test\r
73         public void testParseError2() {\r
74                 String requestErrorJSON = "{\"status\": \"DISTRIBUTION_COMPLETE_ERROR\"}";\r
75 \r
76                 ModelDistributionRequest request = new ModelDistributionRequest();\r
77                 Response response = request.updateModelDistributionStatus(requestErrorJSON, null, null);\r
78                 String body = response.getEntity().toString();\r
79                 assertTrue(body.contains("Error parsing request."));\r
80                 assertEquals(400, response.getStatus());\r
81         }\r
82         \r
83         @Test\r
84         public void testSuccess() {\r
85                 ModelDistributionRequest request = new ModelDistributionRequest();\r
86                 TenantIsolationRunnable thread = mock(TenantIsolationRunnable.class);\r
87                 request.setThread(thread);\r
88                 \r
89                 Response response = request.updateModelDistributionStatus(requestJSON, null, null);\r
90                 \r
91                 assertEquals(200, response.getStatus());\r
92         }\r
93 }\r