package org.springside.modules.utils.io; import static org.assertj.core.api.Assertions.*; import java.io.File; import java.io.IOException; import java.io.InputStream; import org.junit.Test; public class URLResourceTest { @Test public void resource() throws IOException { File file = URLResourceUtil.asFile("classpath://application.properties"); assertThat(FileUtil.toString(file)).isEqualTo("springside.min=1\nspringside.max=10"); InputStream is = URLResourceUtil.asStream("classpath://application.properties"); assertThat(IOUtil.toString(is)).isEqualTo("springside.min=1\nspringside.max=10"); IOUtil.closeQuietly(is); try { URLResourceUtil.asFile("classpath://notexist.properties"); fail("should fail"); } catch (Throwable t) { assertThat(t).isInstanceOf(IllegalArgumentException.class); } try { URLResourceUtil.asStream("classpath://notexist.properties"); fail("should fail"); } catch (Throwable t) { assertThat(t).isInstanceOf(IllegalArgumentException.class); } } @Test public void file() throws IOException { File file = FileUtil.createTempFile(); FileUtil.write("haha", file); try { File file2 = URLResourceUtil.asFile("file://" + file.getAbsolutePath()); assertThat(FileUtil.toString(file2)).isEqualTo("haha"); File file2NotExist = URLResourceUtil.asFile("file://" + file.getAbsolutePath() + ".noexist"); File file3 = URLResourceUtil.asFile(file.getAbsolutePath()); assertThat(FileUtil.toString(file3)).isEqualTo("haha"); File file3NotExist = URLResourceUtil.asFile(file.getAbsolutePath() + ".noexist"); } finally { FileUtil.deleteFile(file); } } }