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 public class FileContentsMuleMessageFactoryTestCase extends AbstractFileMuleMessageFactoryTestCase
23 {
24 @Override
25 protected void doSetUp() throws Exception
26 {
27 super.doSetUp();
28 fillTempFile();
29 }
30
31 private void fillTempFile() throws Exception
32 {
33 Writer writer = new FileWriter(tempFile);
34 writer.write(TEST_MESSAGE);
35 writer.close();
36 }
37
38 @Override
39 protected MuleMessageFactory doCreateMuleMessageFactory()
40 {
41 return new FileContentsMuleMessageFactory(muleContext);
42 }
43
44 @Override
45 public void testValidPayload() throws Exception
46 {
47 MuleMessageFactory factory = createMuleMessageFactory();
48
49 Object payload = getValidTransportMessage();
50 MuleMessage message = factory.create(payload, encoding);
51 assertNotNull(message);
52 assertPayload(message);
53 }
54
55 public void testPayloadFromInputStream() throws Exception
56 {
57 MuleMessageFactory factory = createMuleMessageFactory();
58
59 InputStream stream = null;
60 try
61 {
62 stream = new ReceiverFileInputStream(tempFile, false, null);
63 MuleMessage message = factory.create(stream, encoding);
64 assertNotNull(message);
65
66
67
68 assertTrue(tempFile.delete());
69 assertPayload(message);
70 }
71 finally
72 {
73 IOUtils.closeQuietly(stream);
74 }
75 }
76
77 private void assertPayload(MuleMessage message)
78 {
79 byte[] expected = TEST_MESSAGE.getBytes();
80 byte[] result = (byte[]) message.getPayload();
81 assertTrue(Arrays.equals(expected, result));
82 }
83 }