620098cb7adcaed9bc58123ad20962dd7e6823b2
[ccsdk/sli.git] /
1 /*
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.
7  */
8
9 package org.onap.ccsdk.sli.northbound.dmaapclient;
10
11 import org.junit.Test;
12
13
14 import java.io.BufferedWriter;
15 import java.io.File;
16 import java.io.FileWriter;
17 import java.io.InputStream;
18 import java.lang.reflect.Field;
19
20 import java.util.Map;
21 import java.util.Properties;
22
23 public class TestSdncJsonDmaapConsumer {
24     private static final String DMAAP_LISTENER_PROPERTIES = "dmaap-listener.properties";
25     private static final String DMAAP_LISTENER_PROPERTIES_DIR = "src/test/resources";
26
27     @Test(expected = InvalidMessageException.class)
28     public void testProcessMsg_shouldThrowException() throws Exception {
29         SdncFlatJsonDmaapConsumer consumer = new SdncFlatJsonDmaapConsumer();
30         consumer.processMsg(null);
31     }
32     
33     @Test
34     public void testProcessMsgFieldMap() throws Exception {
35         SdncFlatJsonDmaapConsumer consumer = new SdncFlatJsonDmaapConsumer();
36
37         String DMAAPLISTENERROOT = "DMAAPLISTENERROOT";
38         File directory = new File("lib");
39
40         if (! directory.exists()){
41             directory.mkdir();
42         }
43
44         File file = new File("lib" + "/" + "input.map");
45         try{
46             FileWriter fw = new FileWriter(file.getAbsoluteFile());
47             BufferedWriter bw = new BufferedWriter(fw);
48             bw.write("SDNC.endpoint=>http://localhost:8282/restconf/operations");
49             bw.close();
50         }
51         catch (Exception e){
52             e.printStackTrace();
53         }
54
55         try {
56             Map<String, String> env = System.getenv();
57             Class<?> cl = env.getClass();
58             Field field = cl.getDeclaredField("m");
59             field.setAccessible(true);
60             Map<String, String> writableEnv = (Map<String, String>) field.get(env);
61             writableEnv.put(DMAAPLISTENERROOT, ".");
62         } catch (Exception e) {
63             throw new IllegalStateException("Failed to set environment variable", e);
64         }
65
66         String msg = "{\n" +
67                 "    \"input\" : {        \n" +
68                 "    }\n" +
69                 "}";
70
71         InputStream propStr = TestSdncJsonDmaapConsumer.class.getResourceAsStream("/dmaap-consumer-pserver.properties");
72         Properties props = new Properties();
73
74         props.load(propStr);
75
76         consumer.init(props, "src/test/resources/dmaap-consumer-pserver.properties");
77         consumer.processMsg(msg);
78     }
79
80     @Test(expected = InvalidMessageException.class)
81     public void testProcessMsgFieldMapNoSdncEndPoint() throws Exception {
82         SdncFlatJsonDmaapConsumer consumer = new SdncFlatJsonDmaapConsumer();
83
84         String DMAAPLISTENERROOT = "DMAAPLISTENERROOT";
85         File directory = new File("lib");
86
87         if (! directory.exists()){
88             directory.mkdir();
89         }
90
91         File file = new File("lib" + "/" + "input.map");
92         try{
93             FileWriter fw = new FileWriter(file.getAbsoluteFile());
94             BufferedWriter bw = new BufferedWriter(fw);
95             bw.write("SDNC");
96             bw.close();
97         }
98         catch (Exception e){
99             e.printStackTrace();
100         }
101
102         try {
103             Map<String, String> env = System.getenv();
104             Class<?> cl = env.getClass();
105             Field field = cl.getDeclaredField("m");
106             field.setAccessible(true);
107             Map<String, String> writableEnv = (Map<String, String>) field.get(env);
108             writableEnv.put(DMAAPLISTENERROOT, ".");
109         } catch (Exception e) {
110             throw new IllegalStateException("Failed to set environment variable", e);
111         }
112
113         String msg = "{\n" +
114                 "    \"input\" : {        \n" +
115                 "    }\n" +
116                 "}";
117
118         InputStream propStr = TestSdncJsonDmaapConsumer.class.getResourceAsStream("/dmaap-consumer-pserver.properties");
119         Properties props = new Properties();
120
121         props.load(propStr);
122
123         consumer.init(props, "src/test/resources/dmaap-consumer-pserver.properties");
124         consumer.processMsg(msg);
125     }
126
127     @Test(expected = InvalidMessageException.class)
128     public void testProcessMsgFieldMapNoFieldMap() throws Exception {
129         SdncFlatJsonDmaapConsumer consumer = new SdncFlatJsonDmaapConsumer();
130
131         String msg = "{\n" +
132                 "    \"input\" : {        \n" +
133                 "    }\n" +
134                 "}";
135
136         consumer.processMsg(msg);
137     }
138 }