1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.file;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.api.transport.MuleMessageFactory;
15 import org.mule.util.IOUtils;
16
17 import java.io.FileWriter;
18 import java.io.InputStream;
19 import java.io.Writer;
20 import java.util.Arrays;
21
22 import org.junit.Test;
23
24 import static org.junit.Assert.assertNotNull;
25 import static org.junit.Assert.assertTrue;
26
27 public class FileContentsMuleMessageFactoryTestCase extends AbstractFileMuleMessageFactoryTestCase
28 {
29 @Override
30 protected void doSetUp() throws Exception
31 {
32 super.doSetUp();
33 fillTempFile();
34 }
35
36 private void fillTempFile() throws Exception
37 {
38 Writer writer = new FileWriter(tempFile);
39 writer.write(TEST_MESSAGE);
40 writer.close();
41 }
42
43 @Override
44 protected MuleMessageFactory doCreateMuleMessageFactory()
45 {
46 return new FileContentsMuleMessageFactory(muleContext);
47 }
48
49 @Override
50 public void testValidPayload() throws Exception
51 {
52 MuleMessageFactory factory = createMuleMessageFactory();
53
54 Object payload = getValidTransportMessage();
55 MuleMessage message = factory.create(payload, encoding);
56 assertNotNull(message);
57 assertPayload(message);
58 }
59
60 @Test
61 public void testPayloadFromInputStream() throws Exception
62 {
63 MuleMessageFactory factory = createMuleMessageFactory();
64
65 InputStream stream = null;
66 try
67 {
68 stream = new ReceiverFileInputStream(tempFile, false, null);
69 MuleMessage message = factory.create(stream, encoding);
70 assertNotNull(message);
71
72
73
74 assertTrue(tempFile.delete());
75 assertPayload(message);
76 }
77 finally
78 {
79 IOUtils.closeQuietly(stream);
80 }
81 }
82
83 private void assertPayload(MuleMessage message)
84 {
85 byte[] expected = TEST_MESSAGE.getBytes();
86 byte[] result = (byte[]) message.getPayload();
87 assertTrue(Arrays.equals(expected, result));
88 }
89 }