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());