1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.file;
12
13 import org.mule.api.MessagingException;
14 import org.mule.api.transport.MessageAdapter;
15 import org.mule.transport.AbstractMessageAdapterTestCase;
16 import org.mule.util.FileUtils;
17
18 import java.io.File;
19 import java.util.Arrays;
20
21
22 public class FileContentsMessageAdapterTestCase extends AbstractMessageAdapterTestCase
23 {
24 private String validMessageContent = "Yabbadabbadooo!";
25 private byte[] validMessage = validMessageContent.getBytes();
26 private File messageFile;
27
28
29
30
31
32
33 protected void doSetUp() throws Exception
34 {
35 super.doSetUp();
36
37
38 File dir = FileUtils.newFile(muleContext.getConfiguration().getWorkingDirectory(), "tmp");
39 if (!dir.exists())
40 {
41 dir.mkdirs();
42 }
43
44 messageFile = File.createTempFile("simple", ".mule", dir);
45 FileUtils.writeStringToFile(messageFile, validMessageContent, null);
46 }
47
48
49
50
51
52
53 public Object getValidMessage()
54 {
55 return validMessage;
56 }
57
58
59
60
61
62
63 public MessageAdapter createAdapter(Object payload) throws MessagingException
64 {
65 if (payload.equals(validMessage))
66 {
67 return new FileContentsMessageAdapter(messageFile);
68 }
69 else
70 {
71
72 return new FileContentsMessageAdapter(payload);
73 }
74 }
75
76
77 public void doTestMessageEqualsPayload(Object message, Object payload) throws Exception
78 {
79 if (message instanceof byte[] && payload instanceof byte[])
80 {
81 assertTrue(Arrays.equals((byte[])message, (byte[])payload));
82 }
83 else
84 {
85 fail("message and payload must both be byte[]");
86 }
87 }
88
89 public void testMessageContentsProperlyLoaded() throws Exception
90 {
91
92 MessageAdapter adapter = new FileContentsMessageAdapter(messageFile);
93
94
95 assertTrue(messageFile.delete());
96
97
98 doTestMessageEqualsPayload(validMessage, adapter.getPayload());
99 }
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127 }