@Test public void testGetResourceForFolderWithOnlySubFolders() throws Exception { MemoryFileSystem mfs = new MemoryFileSystem(); mfs.createFolder(new MemoryFolder(mfs, "src/main/java")); mfs.createFolder(new MemoryFolder(mfs, "src/main/java/org")); mfs.createFolder(new MemoryFolder(mfs, "src/main/java/com")); MemoryKieModule mkm = new MemoryKieModule(releaseId, kieModuleModel, mfs); ResourceProvider resourceProvider = mkm.createResourceProvider(); String folderContents = IOUtils.toString(resourceProvider.getResource("src/main/java").openStream()); Assertions.assertThat(folderContents).hasLineCount(2).contains("com", "org"); }
@Test public void testGetResourceAsStreamFolderWithOnlySubFolders() throws Exception { MemoryFileSystem mfs = new MemoryFileSystem(); mfs.createFolder(new MemoryFolder(mfs, "src/main/java")); mfs.createFolder(new MemoryFolder(mfs, "src/main/java/org")); mfs.createFolder(new MemoryFolder(mfs, "src/main/java/com")); MemoryKieModule mkm = new MemoryKieModule(releaseId, kieModuleModel, mfs); ResourceProvider resourceProvider = mkm.createResourceProvider(); String folderContents = IOUtils.toString(resourceProvider.getResourceAsStream("src/main/java")); Assertions.assertThat(folderContents).hasLineCount(2).contains("com", "org"); }
@Test public void testGetResourceForEmptyFolder() throws Exception { MemoryFileSystem mfs = new MemoryFileSystem(); mfs.createFolder(new MemoryFolder(mfs, "src/main/java")); MemoryKieModule mkm = new MemoryKieModule(releaseId, kieModuleModel, mfs); ResourceProvider resourceProvider = mkm.createResourceProvider(); String folderContents = IOUtils.toString(resourceProvider.getResource("src/main/java").openStream()); Assertions.assertThat(folderContents).isEmpty(); }
@Test public void testGetResourceForFolderWithFilesAndSubFolders() throws Exception { MemoryFileSystem mfs = new MemoryFileSystem(); mfs.createFolder(new MemoryFolder(mfs, "src/main/java")); mfs.createFolder(new MemoryFolder(mfs, "src/main/java/org")); mfs.createFolder(new MemoryFolder(mfs, "src/main/java/com")); mfs.setFileContents(new MemoryFile(mfs, "my-file1", mfs.getFolder("src/main/java")), new byte[10]); mfs.setFileContents(new MemoryFile(mfs, "my-file2", mfs.getFolder("src/main/java")), new byte[10]); MemoryKieModule mkm = new MemoryKieModule(releaseId, kieModuleModel, mfs); ResourceProvider resourceProvider = mkm.createResourceProvider(); String folderContents = IOUtils.toString(resourceProvider.getResource("src/main/java").openStream()); Assertions.assertThat(folderContents).hasLineCount(4).contains("com", "org", "my-file1", "my-file2"); }
@Test public void testGetParentWithLeadingAndTrailingSlash() { MemoryFileSystem mfs = new MemoryFileSystem(); assertEquals( "", new MemoryFolder( mfs, "/src" ).getParent().getPath().toPortableString() ); assertEquals( "", new MemoryFolder( mfs, "src/" ).getParent().getPath().toPortableString() ); assertEquals( "", new MemoryFolder( mfs, "/src/" ).getParent().getPath().toPortableString() ); assertEquals( "src", new MemoryFolder( mfs, "/src/main" ).getParent().getPath().toPortableString() ); assertEquals( "src", new MemoryFolder( mfs, "src/main/" ).getParent().getPath().toPortableString() ); assertEquals( "src", new MemoryFolder( mfs, "/src/main/" ).getParent().getPath().toPortableString() ); assertEquals( "src/main", new MemoryFolder( mfs, "/src/main/java" ).getParent().getPath().toPortableString() ); assertEquals( "src/main", new MemoryFolder( mfs, "src/main/java/" ).getParent().getPath().toPortableString() ); assertEquals( "src/main", new MemoryFolder( mfs, "/src/main/java/" ).getParent().getPath().toPortableString() ); }
@Test public void testCreateAndCopyFolder() { MemoryFileSystem memoryFileSystem = new MemoryFileSystem(); // this also creates a folder if it doesn't exist final Folder emptyFolder = memoryFileSystem.getFolder("emptyfolder"); final MemoryFolder destinationFolder = new MemoryFolder(memoryFileSystem, "destinationfolder"); memoryFileSystem.createFolder(destinationFolder); memoryFileSystem.copyFolder(emptyFolder, memoryFileSystem, destinationFolder); } }