Package de.matrixweb.smaller.clients.common

Source Code of de.matrixweb.smaller.clients.common.UtilTest

package de.matrixweb.smaller.clients.common;

import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;

import java.io.File;
import java.util.Arrays;

import org.apache.commons.io.FileUtils;
import org.junit.Test;

import de.matrixweb.smaller.config.ConfigFile;
import de.matrixweb.smaller.config.Environment;
import de.matrixweb.smaller.config.Processor;

/**
* @author marwol
*/
public class UtilTest {

  /**
   * @throws Exception
   */
  @Test
  public void testZipAndUnzip() throws Exception {
    final Util util = new Util(new Logger() {
      public void debug(final String message) {
        System.err.println("[DEBUG] " + message);
      }
    });

    final File tempIn = File.createTempFile("smaller", ".dir");
    tempIn.delete();
    tempIn.mkdir();
    final File tempOut = File.createTempFile("smaller", ".dir");
    tempOut.delete();
    tempOut.mkdir();

    new File(tempIn, "dir/dir").mkdirs();
    new File(tempIn, "a.test").createNewFile();
    new File(tempIn, "dir/b.test").createNewFile();
    new File(tempIn, "dir/dir/c.test").createNewFile();
    new File(tempIn, "in").createNewFile();

    final Processor processor = new Processor();
    processor.setSrc("in");
    final ConfigFile configFile = new ConfigFile();
    final Environment env = configFile.getEnvironments().get("first");
    env.setPipeline(new String[] { "processor" });
    env.getProcessors().put("processor", processor);
    env.setProcess("out");

    final byte[] bytes = util.zip(tempIn,
        Arrays.asList("a.test", "dir/b.test", "dir/dir/c.test"), configFile);
    util.unzip(tempOut, bytes);

    assertThat(new File(tempOut, "a.test").exists(), is(true));
    assertThat(new File(tempOut, "dir/b.test").exists(), is(true));
    assertThat(new File(tempOut, "dir/dir/c.test").exists(), is(true));
    assertThat(new File(tempOut, "in").exists(), is(true));

    FileUtils.deleteDirectory(tempIn);
    FileUtils.deleteDirectory(tempOut);
  }

}
TOP

Related Classes of de.matrixweb.smaller.clients.common.UtilTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.