1   /*
2    * $Id: FileFunctionalTestCase.java 10789 2008-02-12 20:04:43Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.transport.file;
12  
13  import org.mule.api.MuleMessage;
14  import org.mule.module.client.MuleClient;
15  import org.mule.transport.file.FileConnector;
16  
17  import java.io.BufferedReader;
18  import java.io.File;
19  import java.io.FileReader;
20  import java.util.HashMap;
21  import java.util.Map;
22  
23  /**
24   * We are careful here to access the file sstem in a generic way.  This means setting directories
25   * dynamically.
26   */
27  public class FileFunctionalTestCase extends AbstractFileFunctionalTestCase
28  {
29  
30      public void testSend() throws Exception
31      {
32          File target = File.createTempFile("mule-file-test-", ".txt");
33          target.deleteOnExit();
34  
35          FileConnector connector =
36                  (FileConnector) muleContext.getRegistry().lookupConnector("sendConnector");
37          connector.setWriteToDirectory(target.getParent());
38          logger.debug("Directory is " + connector.getWriteToDirectory());
39          Map props = new HashMap();
40          props.put(TARGET_FILE, target.getName());
41          logger.debug("File is " + props.get(TARGET_FILE));
42  
43          MuleClient client = new MuleClient();
44          client.dispatch("send", TEST_MESSAGE, props);
45          waitForFileSystem();
46  
47          String result = new BufferedReader(new FileReader(target)).readLine();
48          assertEquals(TEST_MESSAGE, result);
49      }
50  
51      public void testDirectRequest() throws Exception
52      {
53          File target = initForRequest();
54          MuleClient client = new MuleClient();
55          String url = fileToUrl(target) + "?connector=receiveConnector";
56          logger.debug(url);
57          MuleMessage message = client.request(url, 100000);
58          checkReceivedMessage(message);
59      }
60  
61  }