End messages carrying data with “Data”
[jFCPlib.git] / src / test / java / net / pterodactylus / fcp / FcpMessageTest.java
1 package net.pterodactylus.fcp;
2
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.contains;
5
6 import java.io.ByteArrayInputStream;
7 import java.io.ByteArrayOutputStream;
8 import java.util.Arrays;
9 import java.util.List;
10
11 import org.junit.Test;
12
13 /**
14  * Unit test for {@link FcpMessage}.
15  *
16  * @author <a href="mailto:david.roden@bietr.de">David Roden</a>
17  */
18 public class FcpMessageTest {
19
20         private final FcpMessage fcpMessage = new FcpMessage("TestMessage");
21
22         @Test
23         public void fcpMessageWithPayloadIsTerminatedByData() throws Exception {
24                 fcpMessage.setPayloadInputStream(new ByteArrayInputStream("Test".getBytes()));
25                 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
26                 fcpMessage.write(outputStream);
27                 List<String> lines = Arrays.asList(outputStream.toString().split("\r?\n"));
28                 assertThat(lines, contains(
29                         "TestMessage",
30                         "Data",
31                         "Test"
32                 ));
33         }
34
35 }