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