package com.googlecode.mycontainer.commons.util; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.net.URL; import java.util.List; import org.apache.commons.io.FileUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.googlecode.mycontainer.commons.io.IOUtil; public class ZipUtilTestManual { private File target; @Before public void setUp() throws IOException { target = new File("./target/lay-baretest"); target.delete(); FileUtils.deleteDirectory(target); } @After public void tearDown() { } @Test public void testListZip() { URL url = getClass().getClassLoader().getResource("test.zip"); assertFalse(target.exists()); ZipUtilList entries = ZipUtil.process(url, new ZipUtilList()); List<String> list = entries.getFileNames(); assertTrue(list .contains("com/googlecode/mycontainer/commons/laybare/test1.txt")); assertTrue(list .contains("com/googlecode/mycontainer/commons/laybare/test2.txt")); assertFalse(list .contains("com/googlecode/mycontainer/commons/laybare/test-notfound.txt")); assertFalse(list .contains("com/googlecode/mycontainer/commons/laybare/")); list = entries.getDirectoryNames(); assertFalse(list .contains("com/googlecode/mycontainer/commons/laybare/test1.txt")); assertTrue(list.contains("com/googlecode/mycontainer/commons/laybare/")); assertFalse(list .contains("com/googlecode/mycontainer/commons/notfound/")); list = entries.getNames(); assertTrue(list .contains("com/googlecode/mycontainer/commons/laybare/test1.txt")); assertTrue(list .contains("com/googlecode/mycontainer/commons/laybare/test2.txt")); assertFalse(list .contains("com/googlecode/mycontainer/commons/laybare/test-notfound.txt")); assertTrue(list.contains("com/googlecode/mycontainer/commons/laybare/")); assertFalse(list .contains("com/googlecode/mycontainer/commons/notfound/")); } @Test public void testGzip() { byte[] gz = ZipUtil.gzip("my test", "utf-8"); assertEquals(27, gz.length); assertEquals("my test", ZipUtil.gunzipString(gz, "utf-8")); } @Test public void testUnzip() { URL url = getClass().getClassLoader().getResource("test.zip"); assertFalse(target.exists()); ZipUtilExtract.withTarget(target).unzip(url); assertEquals( "test1 text", IOUtil.read( new File(target, "com/googlecode/mycontainer/commons/laybare/test1.txt"), "utf-8").trim()); assertEquals( "test2 text", IOUtil.read( new File(target, "com/googlecode/mycontainer/commons/laybare/test2.txt"), "utf-8").trim()); assertFalse(new File(target, "com/googlecode/mycontainer/commons/testbare").exists()); } @Test public void testReunzip() { URL url = getClass().getClassLoader().getResource("test.zip"); assertFalse(target.exists()); ZipUtilExtract.withTarget(target).reunzip(1).unzip(url); assertEquals( "test1 text", IOUtil.read( new File(target, "com/googlecode/mycontainer/commons/laybare/test1.txt"), "utf-8").trim()); assertEquals( "test2 text", IOUtil.read( new File(target, "com/googlecode/mycontainer/commons/laybare/test2.txt"), "utf-8").trim()); assertEquals( "test2 text", IOUtil.read( new File(target, "com/googlecode/mycontainer/commons/testbare.zip/laybare/test2.txt"), "utf-8").trim()); } }