View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.transport.file;
8   
9   import org.mule.api.endpoint.EndpointURI;
10  import org.mule.endpoint.MuleEndpointURI;
11  import org.mule.tck.junit4.AbstractMuleContextTestCase;
12  
13  import org.junit.Test;
14  
15  import static org.junit.Assert.assertEquals;
16  import static org.junit.Assert.assertNotNull;
17  
18  public class FileEndpointTestCase extends AbstractMuleContextTestCase
19  {
20  
21      private EndpointURI newMuleEndpointURI(String text) throws Exception
22      {
23          MuleEndpointURI uri = new MuleEndpointURI(text, muleContext);
24          uri.initialise();
25          return uri;
26      }
27  
28      @Test
29      public void testFileUrl() throws Exception
30      {
31          EndpointURI url = newMuleEndpointURI("file:///C:/temp?endpointName=fileEndpoint");
32          assertEquals("file", url.getScheme());
33          assertEquals("/C:/temp", url.getAddress());
34          assertNotNull(url.getEndpointName());
35          assertEquals("fileEndpoint", url.getEndpointName());
36          assertEquals(-1, url.getPort());
37          assertEquals("file:///C:/temp?endpointName=fileEndpoint", url.toString());
38          assertEquals("endpointName=fileEndpoint", url.getQuery());
39          assertEquals(1, url.getParams().size());
40      }
41  
42      @Test
43      public void testFileUrlWithoutDrive() throws Exception
44      {
45          EndpointURI url = newMuleEndpointURI("file://temp?endpointName=fileEndpoint");
46          assertEquals("file", url.getScheme());
47          assertEquals("temp", url.getAddress());
48          assertNotNull(url.getEndpointName());
49          assertEquals("fileEndpoint", url.getEndpointName());
50          assertEquals(-1, url.getPort());
51          assertEquals("file://temp?endpointName=fileEndpoint", url.toString());
52          assertEquals("endpointName=fileEndpoint", url.getQuery());
53          assertEquals(1, url.getParams().size());
54      }
55  
56      @Test
57      public void testRelativeFileUriParentDir() throws Exception
58      {
59          String muleURI = "file://../test-data/in";
60          EndpointURI url = newMuleEndpointURI(muleURI);
61  
62          assertEquals("../test-data/in", url.getAddress());
63      }
64  
65      @Test
66      public void testRelativeFileUriCurrentDir() throws Exception
67      {
68          String muleURI = "file://./test-data/in";
69          EndpointURI url = newMuleEndpointURI(muleURI);
70  
71          assertEquals("./test-data/in", url.getAddress());
72      }
73  
74      @Test
75      public void testWinNetworkUri() throws Exception
76      {
77          String muleURI = "file:////192.168.0.1/test/";
78          EndpointURI url = newMuleEndpointURI(muleURI);
79  
80          assertEquals("//192.168.0.1/test/", url.getAddress());
81      }
82  
83      @Test
84      public void testRelativeFileUriAsParameter() throws Exception
85      {
86          EndpointURI url = newMuleEndpointURI("file://?address=./temp&endpointName=fileEndpoint");
87          assertEquals("file", url.getScheme());
88          assertEquals("./temp", url.getAddress());
89          assertNotNull(url.getEndpointName());
90          assertEquals("fileEndpoint", url.getEndpointName());
91          assertEquals(-1, url.getPort());
92          assertEquals("file://?address=./temp&endpointName=fileEndpoint", url.toString());
93          assertEquals("address=./temp&endpointName=fileEndpoint", url.getQuery());
94          assertEquals(2, url.getParams().size());
95      }
96  
97  }