a42bc48f697a8360c64c0c10d1090752d297b9d2
[ccsdk/sli.git] /
1 package org.onap.ccsdk.sli.northbound.dmaapclient;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5
6 import java.util.Properties;
7
8 import org.junit.Before;
9 import org.junit.Test;
10
11 import com.fasterxml.jackson.databind.JsonNode;
12 import com.fasterxml.jackson.databind.ObjectMapper;
13
14 public class TestPciChangesFromPolicyToSDNRDmaapConsumer {
15     private static final String pciChangesFromPolicyToSDNRInput = "{\n" + 
16                 "       \"body\": {\n" + 
17                 "               \"input\": {\n" + 
18                 "                       \"CommonHeader\": {\n" + 
19                 "                               \"TimeStamp\": \"2018-11-30T09:13:37.368Z\",\n" + 
20                 "                               \"APIVer\": \"1.0\",\n" + 
21                 "                               \"RequestID\": \"9d2d790e-a5f0-11e8-98d0-529269fb1459\",\n" + 
22                 "                               \"SubRequestID\": \"1\",\n" + 
23                 "                               \"RequestTrack\": {},\n" + 
24                 "                               \"Flags\": {}\n" + 
25                 "                       },\n" + 
26                 "                       \"Action\": \"ModifyConfig\",\n" + 
27                 "                       \"Payload\": \"{\\\"Configurations\\\":[{\\\"data\\\":{\\\"FAPService\\\":{\\\"alias\\\":\\\"Chn0330\\\",\\\"X0005b9Lte\\\":{\\\"phyCellIdInUse\\\":6,\\\"pnfName\\\":\\\"ncserver23\\\"},\\\"CellConfig\\\":{\\\"LTE\\\":{\\\"RAN\\\":{\\\"Common\\\":{\\\"CellIdentity\\\":\\\"Chn0330\\\"}}}}}}},{\\\"data\\\":{\\\"FAPService\\\":{\\\"alias\\\":\\\"Chn0331\\\",\\\"X0005b9Lte\\\":{\\\"phyCellIdInUse\\\":7,\\\"pnfName\\\":\\\"ncserver23\\\"},\\\"CellConfig\\\":{\\\"LTE\\\":{\\\"RAN\\\":{\\\"Common\\\":{\\\"CellIdentity\\\":\\\"Chn0331\\\"}}}}}}}]}\"\n" + 
28                 "               }\n" + 
29                 "       },\n" + 
30                 "       \"version\": \"1.0\",\n" + 
31                 "       \"rpc-name\": \"modifyconfig\",\n" + 
32                 "       \"correlation-id\": \"9d2d790e-a5f0-11e8-98d0-529269fb1459-1\",\n" + 
33                 "       \"type\": \"request\"\n" + 
34                 "}";
35     
36         @Before
37         public void setUp() throws Exception {
38         }
39
40         @Test
41         public void testRPCMessageBodyResponse() throws Exception {
42                 Properties props = new Properties();
43                 
44                 ObjectMapper oMapper = new ObjectMapper();
45                 JsonNode pciChangesRootNode = oMapper.readTree(pciChangesFromPolicyToSDNRInput);
46                 JsonNode body = pciChangesRootNode.get("body");
47                 JsonNode input = body.get("input");
48                 JsonNode payload = input.get("Payload");
49                 String payloadText = payload.asText();
50                 JsonNode configurationsJsonNode = oMapper.readTree(payloadText);
51  
52             String rpcMsgbody = new PciChangesFromPolicyToSDNRDmaapConsumer(props).publish("src/main/resources/anr-pci-changes-from-policy-to-sdnr.vt", pciChangesFromPolicyToSDNRInput,configurationsJsonNode);
53         
54         JsonNode rootNode;
55         try {
56                 rootNode = oMapper.readTree(rpcMsgbody);
57         } catch (Exception e) {
58             throw new InvalidMessageException("Cannot parse json object", e);
59         }       
60
61         assertTrue(rootNode.get("input").get("module-name") != null); 
62         assertTrue(rootNode.get("input").get("rpc-name") != null); 
63         assertTrue(rootNode.get("input").get("mode") != null); 
64         assertTrue(rootNode.get("input").get("sli-parameter") != null); 
65         
66         }
67
68         @Test(expected = InvalidMessageException.class)
69         public void testProcessMsgNullMessage() throws Exception {
70                 PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
71                 consumer.processMsg(null);
72         }
73
74         @Test(expected = InvalidMessageException.class)
75         public void testProcessMsgInvalidMessage() throws Exception {
76                 PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
77                 consumer.processMsg("test");
78         }
79
80         @Test
81         public void testProcessMsgMissingActionHeader() throws Exception {
82                 PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
83                 consumer.processMsg("{\n" + 
84                                 "       \"body\": {\n" + 
85                                 "               \"input\": {\n" + 
86                                 "                       \"CommonHeader\": {\n" + 
87                                 "                               \"TimeStamp\": \"2018-11-30T09:13:37.368Z\",\n" + 
88                                 "                               \"APIVer\": \"1.0\",\n" + 
89                                 "                               \"RequestID\": \"9d2d790e-a5f0-11e8-98d0-529269fb1459\",\n" + 
90                                 "                               \"SubRequestID\": \"1\",\n" + 
91                                 "                               \"RequestTrack\": {},\n" + 
92                                 "                               \"Flags\": {}\n" + 
93                                 "                       },\n" + 
94                                 "                       \"RenamedAction\": \"ModifyConfig\",\n" + 
95                                 "                       \"Payload\": {\n" + 
96                                 "                               \"Configurations \": {\n" + 
97                                 "                                       \"data \": {\n" + 
98                                 "                                               \"FAPService \": {\n" + 
99                                 "                                                       \"alias\": \"Chn0330\",\n" + 
100                                 "                                                       \"X0005b9Lte\": {\n" + 
101                                 "                                                               \"phyCellIdInUse\": 6,\n" + 
102                                 "                                                               \"pnfName\": \"ncserver23\"\n" + 
103                                 "                                                       },\n" + 
104                                 "                                                       \"CellConfig\": {\n" + 
105                                 "                                                               \"LTE\": {\n" + 
106                                 "                                                                       \"RAN\": {\n" + 
107                                 "                                                                               \"Common\": {\n" + 
108                                 "                                                                                       \"CellIdentity\": \"Chn0330\"\n" + 
109                                 "                                                                               }\n" + 
110                                 "                                                                       }\n" + 
111                                 "                                                               }\n" + 
112                                 "                                                       }\n" + 
113                                 "                                               }\n" + 
114                                 "                                       }\n" + 
115                                 "                               }\n" + 
116                                 "\n" + 
117                                 "                       }\n" + 
118                                 "               }\n" + 
119                                 "       },\n" + 
120                                 "       \"version\": \"1.0\",\n" + 
121                                 "       \"rpc-name\": \"modifyconfig\",\n" + 
122                                 "       \"correlation-id\": \"9d2d790e-a5f0-11e8-98d0-529269fb1459-1\",\n" + 
123                                 "       \"type\": \"request\"\n" + 
124                                 "}");
125         }
126
127         @Test
128         public void testProcessMsgInvalidPayloadConfigurations() throws Exception {
129                 String msg = "{\n" + 
130                                 "       \"body\": {\n" + 
131                                 "               \"input\": {\n" + 
132                                 "                       \"CommonHeader\": {\n" + 
133                                 "                               \"TimeStamp\": \"2018-11-30T09:13:37.368Z\",\n" + 
134                                 "                               \"APIVer\": \"1.0\",\n" + 
135                                 "                               \"RequestID\": \"9d2d790e-a5f0-11e8-98d0-529269fb1459\",\n" + 
136                                 "                               \"SubRequestID\": \"1\",\n" + 
137                                 "                               \"RequestTrack\": {},\n" + 
138                                 "                               \"Flags\": {}\n" + 
139                                 "                       },\n" + 
140                                 "                       \"Action\": \"ModifyConfig\",\n" + 
141                                 "                       \"Payload\": {\n" + 
142                                 "                               \"Configurations \": {\n" + 
143                                 "                                       \"data \": {\n" + 
144                                 "                                               \"FAPService \": {\n" + 
145                                 "                                                       \"alias\": \"Chn0330\",\n" + 
146                                 "                                                       \"X0005b9Lte\": {\n" + 
147                                 "                                                               \"phyCellIdInUse\": 6,\n" + 
148                                 "                                                               \"pnfName\": \"ncserver23\"\n" + 
149                                 "                                                       },\n" + 
150                                 "                                                       \"CellConfig\": {\n" + 
151                                 "                                                               \"LTE\": {\n" + 
152                                 "                                                                       \"RAN\": {\n" + 
153                                 "                                                                               \"Common\": {\n" + 
154                                 "                                                                                       \"CellIdentity\": \"Chn0330\"\n" + 
155                                 "                                                                               }\n" + 
156                                 "                                                                       }\n" + 
157                                 "                                                               }\n" + 
158                                 "                                                       }\n" + 
159                                 "                                               }\n" + 
160                                 "                                       }\n" + 
161                                 "                               }\n" + 
162                                 "\n" + 
163                                 "                       }\n" + 
164                                 "               }\n" + 
165                                 "       },\n" + 
166                                 "       \"version\": \"1.0\",\n" + 
167                                 "       \"rpc-name\": \"modifyconfig\",\n" + 
168                                 "       \"correlation-id\": \"9d2d790e-a5f0-11e8-98d0-529269fb1459-1\",\n" + 
169                                 "       \"type\": \"request\"\n" + 
170                                 "}";
171                 
172                 try {
173                         PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
174                         consumer.processMsg(msg);
175
176                 } catch (final InvalidMessageException e) {
177                         final String errorMsg = "Configurations is not of Type Array. Could not read configuration changes";
178                         assertEquals(errorMsg, e.getMessage());
179                 }
180         }
181 }