344170967bdc3303c8724d49831cca2922a16ac6
[appc.git] / appc-adapters / appc-netconf-adapter / appc-netconf-adapter-bundle / src / test / java / org / onap / appc / adapter / netconf / internal / TestNetconfAdapter2.java
1 package org.onap.appc.adapter.netconf.internal;
2
3 import org.junit.Assert;
4 import org.junit.Test;
5
6 import java.io.IOException;
7 import java.io.InputStream;
8 import java.io.OutputStream;
9 import java.io.PipedInputStream;
10 import java.io.PipedOutputStream;
11
12 public class TestNetconfAdapter2 {
13
14     private static final String EOM = "]]>]]>";
15
16     @Test (expected = IOException.class)
17     public void testReceiveMessage() throws IOException {
18         PipedOutputStream pos = new PipedOutputStream();
19         PipedInputStream is = new PipedInputStream(pos);
20
21         PipedInputStream pis = new PipedInputStream();
22         PipedOutputStream os = new PipedOutputStream(pis);
23
24         NetconfAdapter2 netconfAdapter = new NetconfAdapter2(is, os);
25
26         String request = "Hello, netconf!";
27         pos.write(request.getBytes());
28         pos.write(EOM.getBytes());
29         String response = netconfAdapter.receiveMessage();
30         Assert.assertNotNull(response);
31         Assert.assertEquals(request, response.trim());
32     }
33
34     @Test (expected = IOException.class)
35     public void testSendMessage() throws IOException {
36         PipedOutputStream pos = new PipedOutputStream();
37         PipedInputStream is = new PipedInputStream(pos);
38
39         PipedInputStream pis = new PipedInputStream();
40         PipedOutputStream os = new PipedOutputStream(pis);
41
42         NetconfAdapter2 netconfAdapter = new NetconfAdapter2(is, os);
43
44         String request = "Hello, netconf!";
45         netconfAdapter.sendMessage(request);
46         byte[] bytes = new byte[request.length()+EOM.length()+2];
47         int count = pis.read(bytes);
48         String response = new String(bytes, 0, count);
49         Assert.assertNotNull(response);
50         Assert.assertTrue(response.endsWith(EOM));
51         response = response.substring(0, response.length() - EOM.length()).trim();
52         Assert.assertEquals(request, response);
53     }
54
55     @Test (expected = IOException.class)
56     public void testSendReceive() throws IOException {
57         PipedOutputStream os = new PipedOutputStream();
58         PipedInputStream is = new PipedInputStream(os);
59
60         NetconfAdapter2 netconfAdapter = new NetconfAdapter2(is, os);
61
62         String request = "Hello, netconf!";
63         netconfAdapter.sendMessage(request);
64         String response = netconfAdapter.receiveMessage();
65         Assert.assertNotNull(response);
66         Assert.assertEquals(request, response.trim());
67     }
68
69     @Test
70     public void testDefaultSendReceive() throws IOException {
71
72         NetconfAdapter2 netconfAdapter = new NetconfAdapter2();
73
74         String request = "Hello, netconf!";
75         netconfAdapter.sendMessage(request);
76
77         InputStream in = netconfAdapter.getIn();
78         OutputStream out = netconfAdapter.getOut();
79
80         Assert.assertNotNull(in);
81         Assert.assertNotNull(out);
82     }
83 }