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 TestANRChangesFromPolicyToSDNRDmaapConsumer {
15 private static final String anrChangesFromPolicyToSDNRInput = "{\n" +
18 " \"CommonHeader\": {\n" +
19 " \"TimeStamp\": \"2018-11-30T09:13:37.368Z\",\n" +
20 " \"APIVer\": \"1.0\",\n" +
21 " \"RequestID\": \"722ee65a-8afd-48df-bf57-c152ae45bacc\",\n" +
22 " \"SubRequestID\": \"1\",\n" +
23 " \"RequestTrack\": {},\n" +
26 "\"Action\": \"ModifyConfigANR\",\n" +
27 " \"Payload\": \"{ \\\"Configurations\\\":[ { \\\"data\\\":{ \\\"FAPService\\\":{ \\\"alias\\\":\\\"Cell1\\\", \\\"CellConfig\\\":{ \\\"LTE\\\":{ \\\"RAN\\\":{ \\\"Common\\\":{ \\\"CellIdentity\\\":\\\"1\\\" }, \\\"NeighborListInUse\\\" : { \\\"LTECellNumberOfEntries\\\" : \\\"1\\\" , \\\"LTECell\\\" : [{ \\\"PLMNID\\\" :\\\"plmnid1\\\", \\\"CID\\\":\\\"Chn0001\\\", \\\"PhyCellID\\\":\\\"3\\\", \\\"PNFName\\\":\\\"ncserver01\\\", \\\"Blacklisted\\\":\\\"false\\\"}] } } } } } } } ] }\"\n" +
30 " \"version\": \"1.0\",\n" +
31 " \"rpc-name\": \"modifyconfiganr\",\n" +
32 " \"correlation-id\": \"722ee65a-8afd-48df-bf57-c152ae45bacc-1\",\n" +
33 " \"type\": \"request\"\n" +
38 public void setUp() throws Exception {
42 public void testRPCMessageBodyResponse() throws Exception {
43 Properties props = new Properties();
45 ObjectMapper oMapper = new ObjectMapper();
46 JsonNode anrChangesRootNode = oMapper.readTree(anrChangesFromPolicyToSDNRInput);
47 JsonNode body = anrChangesRootNode.get("body");
48 JsonNode input = body.get("input");
49 JsonNode payload = input.get("Payload");
50 String payloadText = payload.asText();
51 JsonNode configurationsJsonNode = oMapper.readTree(payloadText);
52 JsonNode configurations = configurationsJsonNode.get("Configurations");
54 for(JsonNode dataNode:configurations) {
55 String rpcMsgbody = new ANRChangesFromPolicyToSDNRDmaapConsumer(props).publish("src/main/resources/anr-pci-changes-from-policy-to-sdnr.vt", anrChangesFromPolicyToSDNRInput,dataNode);
59 rootNode = oMapper.readTree(rpcMsgbody);
60 } catch (Exception e) {
61 throw new InvalidMessageException("Cannot parse json object", e);
64 assertTrue(rootNode.get("input").get("module-name") != null);
65 assertTrue(rootNode.get("input").get("rpc-name") != null);
66 assertTrue(rootNode.get("input").get("mode") != null);
67 assertTrue(rootNode.get("input").get("sli-parameter") != null);
71 @Test(expected = InvalidMessageException.class)
72 public void testProcessMsgNullMessage() throws Exception {
73 ANRChangesFromPolicyToSDNRDmaapConsumer consumer = new ANRChangesFromPolicyToSDNRDmaapConsumer();
74 consumer.processMsg(null);
77 @Test(expected = InvalidMessageException.class)
78 public void testProcessMsgInvalidMessage() throws Exception {
79 ANRChangesFromPolicyToSDNRDmaapConsumer consumer = new ANRChangesFromPolicyToSDNRDmaapConsumer();
80 consumer.processMsg("test");
84 public void testProcessMsgMissingActionHeader() throws Exception {
85 ANRChangesFromPolicyToSDNRDmaapConsumer consumer = new ANRChangesFromPolicyToSDNRDmaapConsumer();
86 consumer.processMsg("{\n" +
89 " \"CommonHeader\": {\n" +
90 " \"TimeStamp\": \"2018-11-30T09:13:37.368Z\",\n" +
91 " \"APIVer\": \"1.0\",\n" +
92 " \"RequestID\": \"722ee65a-8afd-48df-bf57-c152ae45bacc\",\n" +
93 " \"SubRequestID\": \"1\",\n" +
94 " \"RequestTrack\": {},\n" +
97 "\"NoAction\": \"ModifyConfigANR\",\n" +
98 " \"Payload\": \"{ \\\"Configurations\\\":[ { \\\"data\\\":{ \\\"FAPService\\\":{ \\\"alias\\\":\\\"Cell1\\\", \\\"CellConfig\\\":{ \\\"LTE\\\":{ \\\"RAN\\\":{ \\\"Common\\\":{ \\\"CellIdentity\\\":\\\"1\\\" }, \\\"NeighborListInUse\\\" : { \\\"LTECellNumberOfEntries\\\" : \\\"1\\\" , \\\"LTECell\\\" : [{ \\\"PLMNID\\\" :\\\"plmnid1\\\", \\\"CID\\\":\\\"Chn0001\\\", \\\"PhyCellID\\\":\\\"3\\\", \\\"PNFName\\\":\\\"ncserver01\\\", \\\"Blacklisted\\\":\\\"false\\\"}] } } } } } } } ] }\"\n" +
101 " \"version\": \"1.0\",\n" +
102 " \"rpc-name\": \"modifyconfiganr\",\n" +
103 " \"correlation-id\": \"722ee65a-8afd-48df-bf57-c152ae45bacc-1\",\n" +
104 " \"type\": \"request\"\n" +
110 public void testProcessMsgInvalidPayloadConfigurations() throws Exception {
114 " \"CommonHeader\": {\n" +
115 " \"TimeStamp\": \"2018-11-30T09:13:37.368Z\",\n" +
116 " \"APIVer\": \"1.0\",\n" +
117 " \"RequestID\": \"722ee65a-8afd-48df-bf57-c152ae45bacc\",\n" +
118 " \"SubRequestID\": \"1\",\n" +
119 " \"RequestTrack\": {},\n" +
122 "\"Action\": \"ModifyConfigANR\",\n" +
123 " \"Payload\": \"{ \\\"Configurations\\\":{ { \\\"data\\\":{ \\\"FAPService\\\":{ \\\"alias\\\":\\\"Cell1\\\", \\\"CellConfig\\\":{ \\\"LTE\\\":{ \\\"RAN\\\":{ \\\"Common\\\":{ \\\"CellIdentity\\\":\\\"1\\\" }, \\\"NeighborListInUse\\\" : { \\\"LTECellNumberOfEntries\\\" : \\\"1\\\" , \\\"LTECell\\\" : [{ \\\"PLMNID\\\" :\\\"plmnid1\\\", \\\"CID\\\":\\\"Chn0001\\\", \\\"PhyCellID\\\":\\\"3\\\", \\\"PNFName\\\":\\\"ncserver01\\\", \\\"Blacklisted\\\":\\\"false\\\"}} } } } } } } } ] }\"\n" +
126 " \"version\": \"1.0\",\n" +
127 " \"rpc-name\": \"modifyconfiganr\",\n" +
128 " \"correlation-id\": \"722ee65a-8afd-48df-bf57-c152ae45bacc-1\",\n" +
129 " \"type\": \"request\"\n" +
134 ANRChangesFromPolicyToSDNRDmaapConsumer consumer = new ANRChangesFromPolicyToSDNRDmaapConsumer();
135 consumer.processMsg(msg);
137 } catch (final InvalidMessageException e) {
138 final String errorMsg = "Cannot parse payload value";
139 assertEquals(errorMsg, e.getMessage());