1 package org.onap.ccsdk.sli.northbound.dmaapclient;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
6 import java.util.Properties;
8 import org.junit.Before;
11 import com.fasterxml.jackson.databind.JsonNode;
12 import com.fasterxml.jackson.databind.ObjectMapper;
14 public class TestPciChangesFromPolicyToSDNRDmaapConsumer {
15 private static final String pciChangesFromPolicyToSDNRInput = "{\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" +
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" +
30 " \"version\": \"1.0\",\n" +
31 " \"rpc-name\": \"modifyconfig\",\n" +
32 " \"correlation-id\": \"9d2d790e-a5f0-11e8-98d0-529269fb1459-1\",\n" +
33 " \"type\": \"request\"\n" +
37 public void setUp() throws Exception {
41 public void testRPCMessageBodyResponse() throws Exception {
42 Properties props = new Properties();
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);
52 String rpcMsgbody = new PciChangesFromPolicyToSDNRDmaapConsumer(props).publish("src/main/resources/anr-pci-changes-from-policy-to-sdnr.vt", pciChangesFromPolicyToSDNRInput,configurationsJsonNode);
56 rootNode = oMapper.readTree(rpcMsgbody);
57 } catch (Exception e) {
58 throw new InvalidMessageException("Cannot parse json object", e);
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);
68 @Test(expected = InvalidMessageException.class)
69 public void testProcessMsgNullMessage() throws Exception {
70 PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
71 consumer.processMsg(null);
74 @Test(expected = InvalidMessageException.class)
75 public void testProcessMsgInvalidMessage() throws Exception {
76 PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
77 consumer.processMsg("test");
81 public void testProcessMsgMissingActionHeader() throws Exception {
82 PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
83 consumer.processMsg("{\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" +
94 " \"RenamedAction\": \"ModifyConfig\",\n" +
96 " \"Configurations \": {\n" +
98 " \"FAPService \": {\n" +
99 " \"alias\": \"Chn0330\",\n" +
100 " \"X0005b9Lte\": {\n" +
101 " \"phyCellIdInUse\": 6,\n" +
102 " \"pnfName\": \"ncserver23\"\n" +
104 " \"CellConfig\": {\n" +
108 " \"CellIdentity\": \"Chn0330\"\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" +
128 public void testProcessMsgInvalidPayloadConfigurations() throws Exception {
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" +
140 " \"Action\": \"ModifyConfig\",\n" +
141 " \"Payload\": {\n" +
142 " \"Configurations \": {\n" +
144 " \"FAPService \": {\n" +
145 " \"alias\": \"Chn0330\",\n" +
146 " \"X0005b9Lte\": {\n" +
147 " \"phyCellIdInUse\": 6,\n" +
148 " \"pnfName\": \"ncserver23\"\n" +
150 " \"CellConfig\": {\n" +
154 " \"CellIdentity\": \"Chn0330\"\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" +
173 PciChangesFromPolicyToSDNRDmaapConsumer consumer = new PciChangesFromPolicyToSDNRDmaapConsumer();
174 consumer.processMsg(msg);
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());