2 * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
3 * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
4 * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
5 * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
6 * Vestibulum commodo. Ut rhoncus gravida arcu.
9 package org.onap.ccsdk.sli.northbound.dmaapclient;
11 import static org.junit.Assert.assertTrue;
14 import java.io.IOException;
15 import java.io.InputStream;
16 import java.lang.reflect.Field;
18 import java.util.Properties;
20 import org.apache.commons.io.FileUtils;
22 import org.junit.Before;
23 import org.junit.Test;
25 import com.fasterxml.jackson.databind.JsonNode;
26 import com.fasterxml.jackson.databind.ObjectMapper;
28 public class TestSdncRANSliceDmaapConsumer {
29 private static final String ranSliceInput =
31 " \"version\": \"ranSlice-dmaap.version\",\r\n" +
32 " \"cambria.partition\": \"SDNC\",\r\n" +
33 " \"correlation-id\": \"ranSlice-dmaap.correlation-id\",\r\n" +
34 " \"rpc-name\": \"upgrade-software\",\r\n" +
35 " \"type\": \"ranSlice-dmaap.type\",\r\n" +
38 " \"common-header\": {\r\n" +
39 " \"api-ver\": \"ranSlice-dmaap.api-ver\",\r\n" +
41 " \"ttl\": \"ranSlice-dmaap.flags.mode\",\r\n" +
42 " \"force\": \"ranSlice-dmaap.flags.force\",\r\n" +
43 " \"mode\": \"ranSlice-dmaap.flags.mode\"\r\n" +
45 " \"originator-id\": \"ranSlice-dmaap.originator-id\",\r\n" +
46 " \"request-id\": \"ranSlice-dmaap.request-id\",\r\n" +
47 " \"sub-request-id\": \"ranSlice-dmaap.sub-request-id\",\r\n" +
48 " \"timestamp\": \"ranSlice-dmaap.timestamp\"\r\n" +
50 " \"payload\": \"ranSlice-dmaap.payload\"\r\n" +
57 public void test() throws Exception {
58 Properties props = new Properties();
60 SdncRANSliceDmaapConsumer consumer = new SdncRANSliceDmaapConsumer();
61 InputStream propStr = TestSdncRANSliceDmaapConsumer.class.getResourceAsStream("/dmaap-consumer-1.properties");
63 consumer.init(props, "src/test/resources/dmaap-consumer-1.properties");
64 consumer.processMsg(ranSliceInput);
67 @Test(expected = InvalidMessageException.class)
68 public void testProcessMsgNullMessage() throws Exception {
69 SdncRANSliceDmaapConsumer consumer = new SdncRANSliceDmaapConsumer();
70 consumer.processMsg(null);
74 public void testProcessMsgMissingBody() throws Exception {
75 String msg = "{\r\n" +
76 " \"version\": \"ranSlice-dmaap.version\",\r\n" +
77 " \"cambria.partition\": \"SDNC\",\r\n" +
78 " \"correlation-id\": \"ranSlice-dmaap.correlation-id\",\r\n" +
79 " \"rpc-name\": \"upgrade-software\",\r\n" +
80 " \"type\": \"ranSlice-dmaap.type\",\r\n" +
83 " \"common-header\": {\r\n" +
84 " \"api-ver\": \"ranSlice-dmaap.api-ver\",\r\n" +
86 " \"ttl\": \"ranSlice-dmaap.flags.mode\",\r\n" +
87 " \"force\": \"ranSlice-dmaap.flags.force\",\r\n" +
88 " \"mode\": \"ranSlice-dmaap.flags.mode\"\r\n" +
90 " \"originator-id\": \"ranSlice-dmaap.originator-id\",\r\n" +
91 " \"request-id\": \"ranSlice-dmaap.request-id\",\r\n" +
92 " \"sub-request-id\": \"ranSlice-dmaap.sub-request-id\",\r\n" +
93 " \"timestamp\": \"ranSlice-dmaap.timestamp\"\r\n" +
95 " \"payload\": \"ranSlice-dmaap.payload\"\r\n" +
100 SdncRANSliceDmaapConsumer consumer = new SdncRANSliceDmaapConsumer();
101 consumer.processMsg(msg);
105 public void testProcessMsgInvalidRPC() throws Exception {
106 String msg = "{\r\n" +
107 " \"version\": \"ranSlice-dmaap.version\",\r\n" +
108 " \"cambria.partition\": \"SDNC\",\r\n" +
109 " \"correlation-id\": \"ranSlice-dmaap.correlation-id\",\r\n" +
110 " \"rpc-name1\": \"upgrade-software\",\r\n" +
111 " \"type\": \"ranSlice-dmaap.type\",\r\n" +
113 " \"input\": {\r\n" +
114 " \"common-header\": {\r\n" +
115 " \"api-ver\": \"ranSlice-dmaap.api-ver\",\r\n" +
116 " \"flags\": {\r\n" +
117 " \"ttl\": \"ranSlice-dmaap.flags.mode\",\r\n" +
118 " \"force\": \"ranSlice-dmaap.flags.force\",\r\n" +
119 " \"mode\": \"ranSlice-dmaap.flags.mode\"\r\n" +
121 " \"originator-id\": \"ranSlice-dmaap.originator-id\",\r\n" +
122 " \"request-id\": \"ranSlice-dmaap.request-id\",\r\n" +
123 " \"sub-request-id\": \"ranSlice-dmaap.sub-request-id\",\r\n" +
124 " \"timestamp\": \"ranSlice-dmaap.timestamp\"\r\n" +
126 " \"payload\": \"ranSlice-dmaap.payload\"\r\n" +
131 SdncRANSliceDmaapConsumer consumer = new SdncRANSliceDmaapConsumer();
132 consumer.processMsg(msg);
136 public void testProcessMsgInvalidPartition() throws Exception {
137 String msg = "{\r\n" +
138 " \"version\": \"ranSlice-dmaap.version\",\r\n" +
139 " \"cambria.partition\": \"BAD\",\r\n" +
140 " \"correlation-id\": \"ranSlice-dmaap.correlation-id\",\r\n" +
141 " \"rpc-name\": \"upgrade-software\",\r\n" +
142 " \"type\": \"ranSlice-dmaap.type\",\r\n" +
144 " \"input\": {\r\n" +
145 " \"common-header\": {\r\n" +
146 " \"api-ver\": \"ranSlice-dmaap.api-ver\",\r\n" +
147 " \"flags\": {\r\n" +
148 " \"ttl\": \"ranSlice-dmaap.flags.mode\",\r\n" +
149 " \"force\": \"ranSlice-dmaap.flags.force\",\r\n" +
150 " \"mode\": \"ranSlice-dmaap.flags.mode\"\r\n" +
152 " \"originator-id\": \"ranSlice-dmaap.originator-id\",\r\n" +
153 " \"request-id\": \"ranSlice-dmaap.request-id\",\r\n" +
154 " \"sub-request-id\": \"ranSlice-dmaap.sub-request-id\",\r\n" +
155 " \"timestamp\": \"ranSlice-dmaap.timestamp\"\r\n" +
157 " \"payload\": \"ranSlice-dmaap.payload\"\r\n" +
163 SdncRANSliceDmaapConsumer consumer = new SdncRANSliceDmaapConsumer();
164 consumer.processMsg(msg);