03f832801cdc4a84f5bbec05ec41b7554359b8ca
[ccsdk/sli.git] /
1 package org.onap.ccsdk.sli.northbound.dmaapclient;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5 import java.io.IOException;
6 import java.net.HttpURLConnection;
7 import java.net.MalformedURLException;
8 import java.net.URL;
9 import java.util.Properties;
10 import org.junit.Test;
11
12 public class MessageRouterHttpClientJdkTest {
13     public MessageRouterHttpClientJdk getClient() throws MalformedURLException {
14         Properties properties = new Properties();
15         properties.put("username", "my_user");
16         properties.put("password", "my_password");
17         properties.put("topic", "network_automation");
18         properties.put("group", "message_processors");
19         properties.put("host", "dmaap-server.com");
20         properties.put("id", "machine_one");
21         properties.put("fetchPause", "3000");
22         MessageRouterHttpClientJdk client = new MessageRouterHttpClientJdk();
23         client.processProperties(properties);
24         return client;
25     }
26
27     @Test
28     public void processMsg() throws InvalidMessageException, MalformedURLException {
29         MessageRouterHttpClientJdk client = getClient();
30         client.processMsg(null);
31     }
32
33     @Test
34     public void isReady() throws InvalidMessageException, MalformedURLException {
35         MessageRouterHttpClientJdk client = getClient();
36         assertEquals(true, client.isReady());
37     }
38
39     @Test
40     public void isRunning() throws InvalidMessageException, MalformedURLException {
41         MessageRouterHttpClientJdk client = getClient();
42         assertEquals(false, client.isRunning());
43     }
44
45     @Test
46     public void buidUrl() throws InvalidMessageException, MalformedURLException {
47         MessageRouterHttpClientJdk client = getClient();
48         assertEquals(new URL(
49                 "http://dmaap-server.com/events/network_automation/message_processors/machine_one?timeout=15000"),
50                 client.url);
51     }
52
53     @Test
54     public void buidUrlWithFilter() throws InvalidMessageException, MalformedURLException {
55         Properties properties = new Properties();
56         properties.put("username", "my_user");
57         properties.put("password", "my_password");
58         properties.put("topic", "network_automation");
59         properties.put("group", "message_processors");
60         properties.put("host", "dmaap-server.com");
61         properties.put("id", "machine_one");
62         properties.put("filter", "{\"class\":\"Contains\",\"string\":\"hello\",\"value\":\"world\"}");
63         properties.put("fetchPause", "3000");
64         MessageRouterHttpClientJdk client = new MessageRouterHttpClientJdk();
65         client.processProperties(properties);
66         assertEquals(new URL(
67                 "http://dmaap-server.com/events/network_automation/message_processors/machine_one?timeout=15000&filter=%7B%22class%22%3A%22Contains%22%2C%22string%22%3A%22hello%22%2C%22value%22%3A%22world%22%7D"),
68                 client.url);
69     }
70
71     @Test
72     public void buildAuthorizationString() throws InvalidMessageException, MalformedURLException {
73         MessageRouterHttpClientJdk client = getClient();
74         String authString = client.buildAuthorizationString("Hello", "World");
75         assertEquals("Basic SGVsbG86V29ybGQ=", authString);
76     }
77
78     @Test
79     public void clientFromProperties() throws InvalidMessageException, MalformedURLException {
80         MessageRouterHttpClientJdk client = new MessageRouterHttpClientJdk();
81         Properties props = new Properties();
82         client.init(props, "src/test/resources/dmaap-consumer-1.properties");
83         assertEquals(new URL(
84                 "http://localhost:3904/events/ccsdk-topic/ccsdk-unittest/ccsdk_unittest?timeout=15000&limit=1000"),
85                 client.url);
86     }
87
88     @Test
89     public void buildHttpURLConnection() throws InvalidMessageException, IOException {
90         MessageRouterHttpClientJdk client = getClient();
91         HttpURLConnection connection = client.buildHttpURLConnection();
92         assertEquals("GET", connection.getRequestMethod());
93         assertTrue(connection.getRequestProperties().get("Accept").contains("application/json"));
94         assertEquals(false, connection.getUseCaches());
95         Integer defaultConnectTimeout = Integer.valueOf(client.DEFAULT_CONNECT_TIMEOUT);
96         Integer defaultReadTimeout = Integer.valueOf(client.DEFAULT_READ_TIMEOUT);
97         assertEquals(defaultConnectTimeout.intValue(), connection.getConnectTimeout());
98         assertEquals(defaultReadTimeout.intValue(), connection.getReadTimeout());
99     }
100 }