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.module.client.MuleClient;
15
16 import java.io.BufferedReader;
17 import java.io.File;
18 import java.io.FileReader;
19 import java.io.FileWriter;
20 import java.io.Writer;
21 import java.util.HashMap;
22 import java.util.Map;
23
24
25
26
27
28 public class FileFunctionalTestCase extends AbstractFileFunctionalTestCase
29 {
30
31 public void testSend() throws Exception
32 {
33 File target = File.createTempFile("mule-file-test-", ".txt");
34 target.deleteOnExit();
35
36 FileConnector connector =
37 (FileConnector) muleContext.getRegistry().lookupConnector("sendConnector");
38 connector.setWriteToDirectory(target.getParent());
39 Map<String, String> props = new HashMap<String, String>();
40 props.put(TARGET_FILE, target.getName());
41
42 MuleClient client = new MuleClient(muleContext);
43 client.dispatch("send", TEST_MESSAGE, props);
44 waitForFileSystem();
45
46 String result = new BufferedReader(new FileReader(target)).readLine();
47 assertEquals(TEST_MESSAGE, result);
48 }
49
50 public void testDirectRequest() throws Exception
51 {
52 File target = initForRequest();
53 MuleClient client = new MuleClient(muleContext);
54 String url = fileToUrl(target) + "?connector=receiveConnector";
55 logger.debug(url);
56 MuleMessage message = client.request(url, 100000);
57 checkReceivedMessage(message);
58 }
59
60 public void testRecursive() throws Exception
61 {
62 File directory = new File("./.mule/in");
63 File subDirectory = new File(directory.getAbsolutePath() + "/sub");
64 boolean success = subDirectory.mkdir();
65 assertTrue(success);
66 subDirectory.deleteOnExit();
67
68 File target = File.createTempFile("mule-file-test-", ".txt", subDirectory);
69 Writer out = new FileWriter(target);
70 out.write(TEST_MESSAGE);
71 out.close();
72 target.deleteOnExit();
73
74 MuleClient client = new MuleClient(muleContext);
75 Thread.sleep(1000);
76 MuleMessage message = client.request("vm://receive?connector=vmQueue", 100000);
77 assertEquals(TEST_MESSAGE, message.getPayloadAsString());
78 }
79 }