View Javadoc

1   package liquibase.resource;
2   
3   import static org.junit.Assert.*;
4   import org.junit.Before;
5   import org.junit.Test;
6   
7   import java.io.File;
8   import java.io.IOException;
9   import java.net.URI;
10  import java.net.URISyntaxException;
11  import java.net.URL;
12  import java.util.Enumeration;
13  
14  
15  public class FileSystemFileOpenerTest {
16      FileSystemResourceAccessor opener;
17      
18      @Before
19      public void createFileOpener() throws URISyntaxException {
20          File thisClassFile = new File(new URI(this.getClass().getClassLoader().getResource("liquibase/resource/FileSystemResourceAccessor.class").toExternalForm()));
21          String packageDirectory = thisClassFile.getParent();
22  
23          
24          opener = new FileSystemResourceAccessor(packageDirectory);
25      }
26      
27      @Test(expected = IllegalArgumentException.class)
28      public void onlyAcceptsDirectories() throws URISyntaxException {
29          File thisClassFile = new File(new URI(this.getClass().getClassLoader().getResource("liquibase/resource/FileSystemResourceAccessor.class").toExternalForm()));
30  
31          ResourceAccessor o = new FileSystemResourceAccessor(thisClassFile.getAbsolutePath());
32      }
33  
34      @Test
35      public void singleFileTest() throws IOException {
36          assertNotNull(opener.getResourceAsStream("FileSystemResourceAccessor.class"));
37      }
38      
39      @Test
40      public void multipleFileTest() throws IOException {
41          Enumeration<URL> files = opener.getResources(".");
42          boolean found = false;
43          while(files.hasMoreElements()) {
44              URL u = files.nextElement();
45              found |=u.getFile().lastIndexOf("FileSystemResourceAccessor")>-1;
46          }
47          assertTrue(found);
48      }
49      
50      @Test
51      public void ahphabeticalOrderTest() throws IOException {
52      	Enumeration<URL> files = opener.getResources(".");
53      	boolean correct = false;
54      	String lastFile = null;
55          while(files.hasMoreElements()) {
56              URL u = files.nextElement();
57              String currentFile = u.getFile().substring(u.getFile().lastIndexOf("/") + 1);
58              if (lastFile != null) {
59              	correct |= lastFile.compareTo(currentFile) < 0;
60              }
61              lastFile = currentFile;
62          }
63          
64      	assertTrue(correct);
65      }
66  }