46a367a8802d2de839172ce52d6ac9241496fff0
[appc.git] / appc-dispatcher / appc-request-handler / appc-request-handler-core / src / test / java / org / onap / appc / requesthandler / ConverterTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * ================================================================================
9  * Modifications Copyright (C) 2018 Orange
10  * =============================================================================
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  * 
15  *      http://www.apache.org/licenses/LICENSE-2.0
16  * 
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  * 
23  * ============LICENSE_END=========================================================
24  */
25
26 package org.onap.appc.requesthandler;
27
28 import com.fasterxml.jackson.core.JsonProcessingException;
29 import org.junit.Assert;
30 import org.junit.Test;
31 import org.onap.appc.domainmodel.lcm.*;
32 import org.onap.appc.executor.objects.LCMCommandStatus;
33 import org.onap.appc.requesthandler.conv.Converter;
34
35 import java.text.ParseException;
36 import java.util.Date;
37 import java.util.HashMap;
38
39
40 public class ConverterTest {
41     private String expectedJsonBodyStr ="{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}}";
42     private String expectedDmaapOutgoingMessageJsonStringTest ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"test\",\"type\":\"response\"}";
43     private String expectedDmaapOutgoingMessageJsonStringRollback ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"rollback\",\"type\":\"response\"}";
44     private String expectedDmaapOutgoingMessageJsonStringSnapshot ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"snapshot\",\"type\":\"response\"}";
45     private String expectedDmaapOutgoingMessageJsonStringAudit ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"payload\":\"{}\",\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"audit\",\"type\":\"response\"}";
46     private String expectedDmaapOutgoingMessageJsonStringHealthCheck ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"payload\":\"{}\",\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"health-check\",\"type\":\"response\"}";
47     private String expectedDmaapOutgoingMessageJsonStringLiveUpgrade ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"live-upgrade\",\"type\":\"response\"}";
48     private String expectedDmaapOutgoingMessageJsonStringLock ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"lock\",\"type\":\"response\"}";
49     private String expectedDmaapOutgoingMessageJsonStringModifyConfig ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"payload\":\"{}\",\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"config-modify\",\"type\":\"response\"}";
50     private String expectedDmaapOutgoingMessageJsonStringSoftwareUpload ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"software-upload\",\"type\":\"response\"}";
51     private String expectedDmaapOutgoingMessageJsonStringStop ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"stop\",\"type\":\"response\"}";
52     private String expectedDmaapOutgoingMessageJsonStringSync ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"payload\":\"{}\",\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"sync\",\"type\":\"response\"}";
53     private String expectedDmaapOutgoingMessageJsonStringTerminate ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"terminate\",\"type\":\"response\"}";
54     private String expectedDmaapOutgoingMessageJsonStringUnlock ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"unlock\",\"type\":\"response\"}";
55     private String expectedDmaapOutgoingMessageJsonStringUpgradePreCheck ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"payload\":\"{}\",\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"upgrade-pre-check\",\"type\":\"response\"}";
56     private String expectedDmaapOutgoingMessageJsonStringUpgradePostCheck ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"payload\":\"{}\",\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"upgrade-post-check\",\"type\":\"response\"}";
57     private String expectedDmaapOutgoingMessageJsonStringUpgradeSoftware ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"upgradesoftware\",\"type\":\"response\"}";
58     private String expectedDmaapOutgoingMessageJsonStringUpgradeBackout ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"upgradebackout\",\"type\":\"response\"}";
59     private String expectedDmaapOutgoingMessageJsonStringUpgradeBackup ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"upgradebackup\",\"type\":\"response\"}";
60
61     private String expectedJsonBodyStrwithPayload ="{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"payload\":\"{}\",\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}}";
62     private String expectedDmaapOutgoingMessageJsonStringReboot ="{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"reboot\",\"type\":\"response\"}";
63     private String expectedDmaapOutgoingMessageJsonStringDistributeTraffc = "{\"body\":{\"output\":{\"common-header\":{\"api-ver\":\"2.0.0\",\"flags\":{},\"originator-id\":\"oid\",\"request-id\":\"reqid\",\"timestamp\":\"1970-01-01T00:00:01.000Z\"},\"status\":{\"code\":400,\"message\":\"SUCCESS - request has been processed successfully\"}}},\"cambria.partition\":\"MSO\",\"correlation-id\":\"reqid\",\"rpc-name\":\"distribute-traffic\",\"type\":\"response\"}";
64
65     @Test
66     public void convDateToZuluStringTest(){
67         String dateToZuluString = Converter.convDateToZuluString(new Date(0L));
68         Assert.assertEquals("1970-01-01T00:00:00.000Z", dateToZuluString);
69     }
70
71     @Test
72     public void convAsyncResponseToBuilderTestTest() throws JsonProcessingException {
73         ResponseContext asyncResponse = buildAsyncResponse();
74         VNFOperation action = VNFOperation.Test;
75         String rpcName = action.name().toLowerCase();
76         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
77         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
78     }
79
80     @Test
81     public void convAsyncResponseToDmaapOutgoingMessageJsonStringTestTest() throws JsonProcessingException {
82         ResponseContext asyncResponse = buildAsyncResponse();
83         VNFOperation action = VNFOperation.Test;
84         String rpcName = action.name().toLowerCase();
85         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
86         System.out.println("jsonStr = " + jsonStr);
87         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringTest,jsonStr);
88     }
89
90     @Test
91     public void convPayloadObjectToJsonStringTest() throws JsonProcessingException, ParseException {
92         String jsonString = Converter.convPayloadObjectToJsonString("any valid JSON string value");
93         Assert.assertEquals("any valid JSON string value", jsonString);
94
95         HashMap<String, String> hashMap = new HashMap<>();
96         hashMap.put("key","value");
97         jsonString = Converter.convPayloadObjectToJsonString(hashMap);
98         Assert.assertEquals("{\"key\":\"value\"}", jsonString);
99     }
100
101     @Test
102     public void convAsyncResponseToBuilderRollbackTest() throws JsonProcessingException {
103         ResponseContext asyncResponse = buildAsyncResponse();
104         VNFOperation action = VNFOperation.Rollback;
105         String rpcName = action.name().toLowerCase();
106         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
107         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
108     }
109
110     @Test
111     public void convAsyncResponseToDmaapOutgoingMessageJsonStringRollbackTest() throws JsonProcessingException {
112         ResponseContext asyncResponse = buildAsyncResponse();
113         VNFOperation action = VNFOperation.Rollback;
114         String rpcName = action.name().toLowerCase();
115         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
116         System.out.println("jsonStr = " + jsonStr);
117         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringRollback,jsonStr);
118     }
119
120     @Test
121     public void convAsyncResponseToBuilderSnapshotTest() throws JsonProcessingException {
122         ResponseContext asyncResponse = buildAsyncResponse();
123         VNFOperation action = VNFOperation.Snapshot;
124         String rpcName = action.name().toLowerCase();
125         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
126         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
127     }
128
129     @Test
130     public void convAsyncResponseToDmaapOutgoingMessageJsonStringSnapshotTest() throws JsonProcessingException {
131         ResponseContext asyncResponse = buildAsyncResponse();
132         VNFOperation action = VNFOperation.Snapshot;
133         String rpcName = action.name().toLowerCase();
134         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
135         System.out.println("jsonStr = " + jsonStr);
136         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringSnapshot,jsonStr);
137     }
138     @Test
139     public void convAsyncResponseToBuilderAuditTest() throws JsonProcessingException {
140         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
141         VNFOperation action = VNFOperation.Audit;
142         String rpcName = action.name().toLowerCase();
143         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
144         Assert.assertEquals(expectedJsonBodyStrwithPayload,jsonStr);
145     }
146
147     @Test
148     public void convAsyncResponseToDmaapOutgoingMessageJsonStringAuditTest() throws JsonProcessingException {
149         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
150         VNFOperation action = VNFOperation.Audit;
151         String rpcName = action.name().toLowerCase();
152         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
153         System.out.println("jsonStr = " + jsonStr);
154         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringAudit,jsonStr);
155     }
156     @Test
157     public void convAsyncResponseToBuilderHealthCheckTest() throws JsonProcessingException {
158         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
159         VNFOperation action = VNFOperation.HealthCheck;
160         String rpcName = convertActionNameToUrl(action.name());
161         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
162         Assert.assertEquals(expectedJsonBodyStrwithPayload,jsonStr);
163     }
164
165     @Test
166     public void convAsyncResponseToDmaapOutgoingMessageJsonStringHealthCheckTest() throws JsonProcessingException {
167         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
168         VNFOperation action = VNFOperation.HealthCheck;
169         String rpcName = convertActionNameToUrl(action.name());
170         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
171         System.out.println("jsonStr = " + jsonStr);
172         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringHealthCheck,jsonStr);
173     }
174     @Test
175     public void convAsyncResponseToBuilderLiveUpgradeTest() throws JsonProcessingException {
176         ResponseContext asyncResponse = buildAsyncResponse();
177         VNFOperation action = VNFOperation.LiveUpgrade;
178         String rpcName = convertActionNameToUrl(action.name());
179         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
180         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
181     }
182
183     @Test
184     public void convAsyncResponseToDmaapOutgoingMessageJsonStringLiveUpgradeTest() throws JsonProcessingException {
185         ResponseContext asyncResponse = buildAsyncResponse();
186         VNFOperation action = VNFOperation.LiveUpgrade;
187         String rpcName = convertActionNameToUrl(action.name());
188         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
189         System.out.println("jsonStr = " + jsonStr);
190         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringLiveUpgrade,jsonStr);
191     }
192     @Test
193     public void convAsyncResponseToBuilderLockTest() throws JsonProcessingException {
194         ResponseContext asyncResponse = buildAsyncResponse();
195         VNFOperation action = VNFOperation.Lock;
196         String rpcName = convertActionNameToUrl(action.name());
197
198         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
199         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
200     }
201
202     @Test
203     public void convAsyncResponseToDmaapOutgoingMessageJsonStringLockTest() throws JsonProcessingException {
204         ResponseContext asyncResponse = buildAsyncResponse();
205         VNFOperation action = VNFOperation.Lock;
206         String rpcName = convertActionNameToUrl(action.name());
207         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
208         System.out.println("jsonStr = " + jsonStr);
209         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringLock,jsonStr);
210     }
211     @Test
212     public void convAsyncResponseToBuilderModifyConfigTest() throws JsonProcessingException {
213         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
214         VNFOperation action = VNFOperation.ConfigModify;
215         String rpcName = convertActionNameToUrl(action.name());
216         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
217         Assert.assertEquals(expectedJsonBodyStrwithPayload,jsonStr);
218     }
219
220     @Test
221     public void convAsyncResponseToDmaapOutgoingMessageJsonStringModifyConfigTest() throws JsonProcessingException {
222         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
223         VNFOperation action = VNFOperation.ConfigModify;
224         String rpcName = convertActionNameToUrl(action.name());
225         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
226         System.out.println("jsonStr = " + jsonStr);
227         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringModifyConfig,jsonStr);
228     }
229     @Test
230     public void convAsyncResponseToBuilderSoftwareUploadTest() throws JsonProcessingException {
231         ResponseContext asyncResponse = buildAsyncResponse();
232         VNFOperation action = VNFOperation.SoftwareUpload;
233         String rpcName = convertActionNameToUrl(action.name());
234
235         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
236         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
237     }
238
239     @Test
240     public void convAsyncResponseToDmaapOutgoingMessageJsonStringSoftwareUploadTest() throws JsonProcessingException {
241         ResponseContext asyncResponse = buildAsyncResponse();
242         VNFOperation action = VNFOperation.SoftwareUpload;
243         String rpcName = convertActionNameToUrl(action.name());
244         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
245         System.out.println("jsonStr = " + jsonStr);
246         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringSoftwareUpload,jsonStr);
247     }
248     @Test
249     public void convAsyncResponseToBuilderStopTest() throws JsonProcessingException {
250         ResponseContext asyncResponse = buildAsyncResponse();
251         VNFOperation action = VNFOperation.Stop;
252         String rpcName = convertActionNameToUrl(action.name());
253         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
254         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
255     }
256
257     @Test
258     public void convAsyncResponseToDmaapOutgoingMessageJsonStringStopTest() throws JsonProcessingException {
259         ResponseContext asyncResponse = buildAsyncResponse();
260         VNFOperation action = VNFOperation.Stop;
261         String rpcName = convertActionNameToUrl(action.name());
262         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
263         System.out.println("jsonStr = " + jsonStr);
264         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringStop,jsonStr);
265     }
266     @Test
267     public void convAsyncResponseToBuilderSync() throws JsonProcessingException {
268         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
269         VNFOperation action = VNFOperation.Sync;
270         String rpcName = convertActionNameToUrl(action.name());
271
272         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
273         Assert.assertEquals(expectedJsonBodyStrwithPayload,jsonStr);
274     }
275
276     @Test
277     public void convAsyncResponseToDmaapOutgoingMessageJsonStringSync() throws JsonProcessingException {
278         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
279         VNFOperation action = VNFOperation.Sync;
280         String rpcName = convertActionNameToUrl(action.name());
281         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
282         System.out.println("jsonStr = " + jsonStr);
283         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringSync,jsonStr);
284     }
285     @Test
286     public void convAsyncResponseToBuilderTerminateTest() throws JsonProcessingException {
287         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
288         VNFOperation action = VNFOperation.Sync;
289         String rpcName = convertActionNameToUrl(action.name());
290         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
291         Assert.assertEquals(expectedJsonBodyStrwithPayload,jsonStr);
292     }
293
294     @Test
295     public void convAsyncResponseToDmaapOutgoingMessageJsonStringTerminateTest() throws JsonProcessingException {
296         ResponseContext asyncResponse = buildAsyncResponse();
297         VNFOperation action = VNFOperation.Terminate;
298         String rpcName = convertActionNameToUrl(action.name());
299         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
300         System.out.println("jsonStr = " + jsonStr);
301         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringTerminate,jsonStr);
302     }
303     @Test
304     public void convAsyncResponseToBuilderUnlockTest() throws JsonProcessingException {
305         ResponseContext asyncResponse = buildAsyncResponse();
306         VNFOperation action = VNFOperation.Unlock;
307         String rpcName = convertActionNameToUrl(action.name());
308         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
309         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
310     }
311
312     @Test
313     public void convAsyncResponseToDmaapOutgoingMessageJsonStringUnlockTest() throws JsonProcessingException {
314         ResponseContext asyncResponse = buildAsyncResponse();
315         VNFOperation action = VNFOperation.Unlock;
316         String rpcName = convertActionNameToUrl(action.name());
317         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
318         System.out.println("jsonStr = " + jsonStr);
319         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringUnlock,jsonStr);
320     }
321     @Test
322     public void convAsyncResponseToBuilderRebootTest() throws JsonProcessingException {
323         ResponseContext asyncResponse = buildAsyncResponse();
324         VNFOperation action = VNFOperation.Reboot;
325         String rpcName = convertActionNameToUrl(action.name());
326
327         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
328         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
329     }
330
331     @Test
332     public void convAsyncResponseToDmaapOutgoingMessageJsonStringRebootTest() throws JsonProcessingException {
333         ResponseContext asyncResponse = buildAsyncResponse();
334         VNFOperation action = VNFOperation.Reboot;
335         String rpcName = convertActionNameToUrl(action.name());
336         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
337         System.out.println("jsonStr = " + jsonStr);
338         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringReboot,jsonStr);
339     }
340     @Test
341     public void convAsyncResponseToBuilderUpgradePreCheckTest() throws JsonProcessingException {
342         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
343         VNFOperation action = VNFOperation.UpgradePreCheck;
344         String rpcName = convertActionNameToUrl(action.name());
345         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
346         Assert.assertEquals(expectedJsonBodyStrwithPayload,jsonStr);
347     }
348
349     @Test
350     public void convAsyncResponseToDmaapOutgoingMessageJsonStringUpgradePreCheckTest() throws JsonProcessingException {
351         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
352         VNFOperation action = VNFOperation.UpgradePreCheck;
353         String rpcName = convertActionNameToUrl(action.name());
354         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
355         System.out.println("jsonStr = " + jsonStr);
356         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringUpgradePreCheck,jsonStr);
357     }
358
359     @Test
360     public void convAsyncResponseToBuilderUpgradePostCheckTest() throws JsonProcessingException {
361         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
362         VNFOperation action = VNFOperation.UpgradePostCheck;
363         String rpcName = convertActionNameToUrl(action.name());
364         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
365         Assert.assertEquals(expectedJsonBodyStrwithPayload,jsonStr);
366     }
367
368     @Test
369     public void convAsyncResponseToDmaapOutgoingMessageJsonStringUpgradePostCheckTest() throws JsonProcessingException {
370         ResponseContext asyncResponse = buildAsyncResponsewithPayload();
371         VNFOperation action = VNFOperation.UpgradePostCheck;
372         String rpcName = convertActionNameToUrl(action.name());
373         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
374         System.out.println("jsonStr = " + jsonStr);
375         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringUpgradePostCheck,jsonStr);
376     }
377     @Test
378     public void convAsyncResponseToBuilderUpgradeSoftwareTest() throws JsonProcessingException {
379         ResponseContext asyncResponse = buildAsyncResponse();
380         VNFOperation action = VNFOperation.UpgradeSoftware;
381         String rpcName = action.name().toLowerCase();
382         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
383         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
384     }
385
386     @Test
387     public void convAsyncResponseToDmaapOutgoingMessageJsonStringUpgradeSoftwareTest() throws JsonProcessingException {
388         ResponseContext asyncResponse = buildAsyncResponse();
389         VNFOperation action = VNFOperation.UpgradeSoftware;
390         String rpcName = action.name().toLowerCase();
391         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
392         System.out.println("jsonStr = " + jsonStr);
393         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringUpgradeSoftware,jsonStr);
394     }
395     @Test
396     public void convAsyncResponseToBuilderUpgradeBackoutTest() throws JsonProcessingException {
397         ResponseContext asyncResponse = buildAsyncResponse();
398         VNFOperation action = VNFOperation.UpgradeBackout;
399         String rpcName = action.name().toLowerCase();
400         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
401         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
402     }
403
404     @Test
405     public void convAsyncResponseToDmaapOutgoingMessageJsonStringUpgradeBackoutTest() throws JsonProcessingException {
406         ResponseContext asyncResponse = buildAsyncResponse();
407         VNFOperation action = VNFOperation.UpgradeBackout;
408         String rpcName = action.name().toLowerCase();
409         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
410         System.out.println("jsonStr = " + jsonStr);
411         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringUpgradeBackout,jsonStr);
412     }
413     @Test
414     public void convAsyncResponseToBuilderUpgradeBackupTest() throws JsonProcessingException {
415         ResponseContext asyncResponse = buildAsyncResponse();
416         VNFOperation action = VNFOperation.UpgradeBackup;
417         String rpcName = action.name().toLowerCase();
418         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
419         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
420     }
421
422     @Test
423     public void convAsyncResponseToDmaapOutgoingMessageJsonStringUpgradeBackupTest() throws JsonProcessingException {
424         ResponseContext asyncResponse = buildAsyncResponse();
425         VNFOperation action = VNFOperation.UpgradeBackup;
426         String rpcName = action.name().toLowerCase();
427         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
428         System.out.println("jsonStr = " + jsonStr);
429         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringUpgradeBackup,jsonStr);
430     }
431
432     @Test
433     public void convAsyncResponseToBuilderDistributeTrafficTest() throws JsonProcessingException {
434         ResponseContext asyncResponse = buildAsyncResponse();
435         VNFOperation action = VNFOperation.DistributeTraffic;
436         String rpcName = convertActionNameToUrl(action.name());
437         String jsonStr = Converter.convAsyncResponseToJsonStringBody(action, rpcName, asyncResponse);
438         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
439     }
440
441     @Test
442     public void convAsyncResponseToDmaapOutgoingMessageJsonStringDistributeTrafficTest() throws JsonProcessingException {
443         ResponseContext asyncResponse = buildAsyncResponse();
444         VNFOperation action = VNFOperation.DistributeTraffic;
445         String rpcName = convertActionNameToUrl(action.name());
446         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(action, rpcName, asyncResponse);
447         System.out.println("jsonStr = " + jsonStr);
448         Assert.assertEquals(expectedDmaapOutgoingMessageJsonStringDistributeTraffc,jsonStr);
449     }
450
451     /*@Test
452     public void convAsyncResponseToBuilderTest() throws JsonProcessingException {
453         AsyncResponse asyncResponse = buildAsyncResponse();
454         String jsonStr = Converter.convAsyncResponseToJsonStringBody(asyncResponse);
455         Assert.assertEquals(expectedJsonBodyStr,jsonStr);
456     }
457
458     @Test
459     public void convAsyncResponseToDmaapOutgoingMessageJsonStringTest() throws JsonProcessingException {
460         AsyncResponse asyncResponse = buildAsyncResponse();
461         String jsonStr = Converter.convAsyncResponseToDmaapOutgoingMessageJsonString(asyncResponse);
462         System.out.println("jsonStr = " + jsonStr);
463         Assert.assertEquals(expectedDmaapOutgoingMessageJsonString,jsonStr);
464     }*/
465
466
467     private ResponseContext buildAsyncResponse() {
468         ResponseContext asyncResponse = createResponseContextWithSubObjects();
469         asyncResponse.getStatus().setCode(LCMCommandStatus.SUCCESS.getResponseCode());
470         asyncResponse.getStatus().setMessage(LCMCommandStatus.SUCCESS.getResponseMessage());
471         asyncResponse.getCommonHeader().setOriginatorId("oid");
472         asyncResponse.getCommonHeader().setApiVer("2.0.0");
473         asyncResponse.getCommonHeader().setRequestId("reqid");
474         asyncResponse.getCommonHeader().setTimestamp(new Date(1000L));
475         asyncResponse.setPayload("any valid JSON string value. Json escape characters need to be added to make it a valid json string value");
476         return asyncResponse;
477     }
478
479     private ResponseContext buildAsyncResponsewithPayload() {
480         ResponseContext asyncResponse = createResponseContextWithSubObjects();
481         asyncResponse.getStatus().setCode(LCMCommandStatus.SUCCESS.getResponseCode());
482         asyncResponse.getStatus().setMessage(LCMCommandStatus.SUCCESS.getResponseMessage());
483         asyncResponse.getCommonHeader().setOriginatorId("oid");
484         asyncResponse.getCommonHeader().setApiVer("2.0.0");
485         asyncResponse.getCommonHeader().setRequestId("reqid");
486         asyncResponse.getCommonHeader().setTimestamp(new Date(1000L));
487         asyncResponse.setPayload("{}");
488         return asyncResponse;
489     }
490
491     private ResponseContext createResponseContextWithSubObjects() {
492
493         ResponseContext responseContext = new ResponseContext();
494         CommonHeader commonHeader = new CommonHeader();
495         Flags flags = new Flags();
496         Status status = new Status();
497         responseContext.setCommonHeader(commonHeader);
498         responseContext.setStatus(status);
499         commonHeader.setFlags(flags);
500         return responseContext;
501     }
502
503     private String convertActionNameToUrl(String action) {
504         String regex = "([a-z])([A-Z]+)";
505         String replacement = "$1-$2";
506         return action.replaceAll(regex, replacement)
507                 .toLowerCase();
508     }
509
510
511 }
512
513
514