/** * AnalyzerBeans * Copyright (C) 2014 Neopost - Customer Information Management * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ package org.eobjects.analyzer.util; import java.io.BufferedReader; import java.io.File; import java.io.InputStream; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.UnknownHostException; import junit.framework.TestCase; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemManager; import org.apache.commons.vfs2.FileType; import org.apache.commons.vfs2.VFS; import org.apache.commons.vfs2.impl.DefaultFileSystemManager; public class VFSUtilsTest extends TestCase { public void test1VfsAssumptions() throws Exception { FileSystemManager manager = VFS.getManager(); FileObject baseFile = manager.getBaseFile(); assertTrue(baseFile == null || "core".equals(baseFile.getName().getBaseName())); File file = new File("src/main/java"); assertNotNull(manager.resolveFile(file.getAbsolutePath())); ((DefaultFileSystemManager) manager).setBaseFile(new File(".")); baseFile = manager.getBaseFile(); assertEquals("core", baseFile.getName().getBaseName()); FileObject javaFolder = manager.resolveFile("src/main/java"); assertTrue(javaFolder.getType() == FileType.FOLDER); FileObject rootFolder = manager.resolveFile("."); assertTrue(rootFolder.getType() == FileType.FOLDER); assertEquals("core", rootFolder.getName().getBaseName()); File javaFolderFile = VFSUtils.toFile(javaFolder); assertNotNull(javaFolderFile); assertTrue(javaFolderFile.exists()); assertTrue(javaFolderFile.isDirectory()); } public void test2HttpAccess() throws Exception { // first check if we have a connection try { InetAddress.getByName("eobjects.org"); } catch (UnknownHostException e) { System.err.println("Skipping test " + getClass().getSimpleName() + "." + getName() + " since we don't seem to be able to reach eobjects.org"); e.printStackTrace(); return; } FileObject file = VFSUtils.getFileSystemManager().resolveFile("http://eobjects.org"); try (InputStream in = file.getContent().getInputStream()) { BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String readLine = reader.readLine(); assertNotNull(readLine); } } public void testToFileObjectNull() throws Exception { assertNull(VFSUtils.toFileObject(null)); assertNull(VFSUtils.toFile(null)); } }