AT&T 1712 and 1802 release code
[so.git] / bpmn / MSOCommonBPMN / src / test / java / org / openecomp / mso / client / adapter / network / NetworkAdapterClientTest.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.client.adapter.network;\r
22 \r
23 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;\r
24 import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;\r
25 import static com.github.tomakehurst.wiremock.client.WireMock.get;\r
26 import static com.github.tomakehurst.wiremock.client.WireMock.post;\r
27 import static com.github.tomakehurst.wiremock.client.WireMock.put;\r
28 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;\r
29 import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;\r
30 import static org.junit.Assert.assertEquals;\r
31 \r
32 import org.junit.BeforeClass;\r
33 import org.junit.Ignore;
34 import org.junit.Rule;\r
35 import org.junit.Test;\r
36 import org.openecomp.mso.adapters.nwrest.CreateNetworkRequest;\r
37 import org.openecomp.mso.adapters.nwrest.CreateNetworkResponse;\r
38 import org.openecomp.mso.adapters.nwrest.DeleteNetworkRequest;\r
39 import org.openecomp.mso.adapters.nwrest.DeleteNetworkResponse;\r
40 import org.openecomp.mso.adapters.nwrest.QueryNetworkResponse;\r
41 import org.openecomp.mso.adapters.nwrest.RollbackNetworkRequest;\r
42 import org.openecomp.mso.adapters.nwrest.RollbackNetworkResponse;\r
43 import org.openecomp.mso.adapters.nwrest.UpdateNetworkRequest;\r
44 import org.openecomp.mso.adapters.nwrest.UpdateNetworkResponse;\r
45 import org.openecomp.mso.openstack.beans.NetworkRollback;\r
46 \r
47 import com.github.tomakehurst.wiremock.junit.WireMockRule;\r
48 \r
49 public class NetworkAdapterClientTest {\r
50 \r
51         @Rule\r
52         public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(28090));\r
53 \r
54         private static final String TESTING_ID = "___TESTING___";\r
55         private static final String AAI_NETWORK_ID = "test";\r
56         private static final String REST_ENDPOINT = "/networks/rest/v1/networks";\r
57 \r
58         private NetworkAdapterClientImpl client = new NetworkAdapterClientImpl();\r
59 \r
60         @BeforeClass\r
61         public static void setUp() {\r
62                 System.setProperty("mso.config.path", "src/test/resources");\r
63         }\r
64 \r
65         @Test\r
66         public void createNetworkTest() {\r
67                 CreateNetworkRequest request = new CreateNetworkRequest();\r
68                 request.setCloudSiteId(TESTING_ID);\r
69 \r
70                 CreateNetworkResponse mockResponse = new CreateNetworkResponse();\r
71                 mockResponse.setNetworkCreated(true);\r
72                 wireMockRule.stubFor(post(urlPathEqualTo(REST_ENDPOINT)).willReturn(aResponse()\r
73                                 .withHeader("Content-Type", "application/json").withBody(mockResponse.toJsonString()).withStatus(200)));\r
74 \r
75                 CreateNetworkResponse response = client.createNetwork(request);\r
76                 assertEquals("Testing CreateVfModule response", true, response.getNetworkCreated());\r
77         }\r
78 \r
79         @Test\r
80         public void deleteNetworkTest() {\r
81                 DeleteNetworkRequest request = new DeleteNetworkRequest();\r
82                 request.setCloudSiteId(TESTING_ID);\r
83 \r
84                 DeleteNetworkResponse mockResponse = new DeleteNetworkResponse();\r
85                 mockResponse.setNetworkDeleted(true);\r
86 \r
87                 wireMockRule.stubFor(put(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID)).willReturn(aResponse()\r
88                                 .withHeader("Content-Type", "application/json").withBody(mockResponse.toJsonString()).withStatus(200)));\r
89 \r
90                 DeleteNetworkResponse response = client.deleteNetwork(AAI_NETWORK_ID, request);\r
91                 assertEquals("Testing DeleteVfModule response", true, response.getNetworkDeleted());\r
92         }\r
93 \r
94         @Test\r
95         public void rollbackNetworkTest() {\r
96                 RollbackNetworkRequest request = new RollbackNetworkRequest();\r
97                 NetworkRollback rollback = new NetworkRollback();\r
98                 rollback.setCloudId(TESTING_ID);\r
99                 request.setNetworkRollback(rollback);\r
100 \r
101                 RollbackNetworkResponse mockResponse = new RollbackNetworkResponse();\r
102                 mockResponse.setNetworkRolledBack(true);\r
103 \r
104                 wireMockRule.stubFor(put(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID)).willReturn(aResponse()\r
105                                 .withHeader("Content-Type", "application/json").withBody(mockResponse.toJsonString()).withStatus(200)));\r
106 \r
107                 RollbackNetworkResponse response = client.rollbackNetwork(AAI_NETWORK_ID, request);\r
108                 assertEquals("Testing DeleteVfModule response", true, response.getNetworkRolledBack());\r
109         }\r
110 \r
111         @Test\r
112         public void queryNetworkTest() {\r
113                 QueryNetworkResponse mockResponse = new QueryNetworkResponse();\r
114                 mockResponse.setNetworkExists(true);\r
115 \r
116                 wireMockRule.stubFor(get(urlPathEqualTo(REST_ENDPOINT))\r
117                                 .withQueryParam("cloudSiteId", equalTo(TESTING_ID))\r
118                                 .withQueryParam("tenantId", equalTo(TESTING_ID))\r
119                                 .withQueryParam("networkStackId", equalTo("networkStackId"))\r
120                                 .withQueryParam("skipAAI", equalTo("true"))\r
121                                 .withQueryParam("msoRequest.requestId", equalTo("testRequestId"))\r
122                                 .withQueryParam("msoRequest.serviceInstanceId", equalTo("serviceInstanceId"))\r
123                                 .willReturn(aResponse()\r
124                                 .withHeader("Content-Type", "application/json").withBody(mockResponse.toJsonString()).withStatus(200)));\r
125 \r
126                 QueryNetworkResponse response = client.queryNetwork(AAI_NETWORK_ID, TESTING_ID, TESTING_ID,\r
127                                 "networkStackId", true, "testRequestId", "serviceInstanceId");\r
128                 assertEquals("Testing QueryVfModule response", true, response.getNetworkExists());\r
129         }\r
130 \r
131         @Ignore
132         @Test\r
133         public void updateNetworkTest() {\r
134                 UpdateNetworkRequest request = new UpdateNetworkRequest();\r
135                 request.setCloudSiteId(TESTING_ID);\r
136                 request.setNetworkId("test1");\r
137 \r
138                 UpdateNetworkResponse mockResponse = new UpdateNetworkResponse();\r
139                 mockResponse.setNetworkId("test1");\r
140                 wireMockRule.stubFor(put(urlPathEqualTo(REST_ENDPOINT + "/" + AAI_NETWORK_ID)).willReturn(aResponse()\r
141                                 .withHeader("Content-Type", "application/json").withBody(mockResponse.toJsonString()).withStatus(200)));\r
142 \r
143                 UpdateNetworkResponse response = client.updateNetwork(AAI_NETWORK_ID, request);\r
144                 assertEquals("Testing UpdateVfModule response", "test1", response.getNetworkId());\r
145         }\r
146 }\r