Package edu.stanford.bmir.protege.web.server.util

Source Code of edu.stanford.bmir.protege.web.server.util.ZipFileExtractor_TestCase

package edu.stanford.bmir.protege.web.server.util;

import edu.stanford.bmir.protege.web.server.util.ZipFileExtractor;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

/**
* @author Matthew Horridge,
*         Stanford University,
*         Bio-Medical Informatics Research Group
*         Date: 19/02/2014
*/
public class ZipFileExtractor_TestCase {

    private byte[] bytes;

    @Rule
    public TemporaryFolder folder = new TemporaryFolder();

    private File zipFile;


    @Before
    public void setUp() throws IOException {
        bytes = new byte[100];
        for(int i = 0; i < bytes.length; i++) {
            bytes[i] = 1;
        }
        zipFile = folder.newFile("zipFile");
    }

    @Test
    public void shouldExtractZipFile() throws IOException {
        OutputStream out = new FileOutputStream(zipFile);
        ZipOutputStream zipOutputStream = new ZipOutputStream(out);
        ZipEntry entryA = new ZipEntry("/FileA");
        entryA.setSize(bytes.length);
        zipOutputStream.putNextEntry(entryA);
        zipOutputStream.write(bytes);
        ZipEntry entryB = new ZipEntry("/Directory/FileB");
        entryB.setSize(bytes.length);
        zipOutputStream.putNextEntry(entryB);
        zipOutputStream.write(bytes);
        ZipEntry entryC = new ZipEntry("/EmptyDirectory/");
        zipOutputStream.putNextEntry(entryC);
        zipOutputStream.close();

        ZipFileExtractor extractor = new ZipFileExtractor();
        File outputDirectory = folder.newFolder("out");
        extractor.extractFileToDirectory(zipFile, outputDirectory);
        File extractedFileA = new File(outputDirectory, "FileA");
        assertTrue(extractedFileA.exists());
        assertEquals(extractedFileA.length(), 100);
        File extractedFileB = new File(outputDirectory, "/Directory/FileB");
        assertTrue(extractedFileB.exists());
        assertEquals(extractedFileB.length(), 100);
        File extractedDirectory = new File(outputDirectory, "Directory");
        assertTrue(extractedDirectory.exists());
        assertTrue(extractedDirectory.isDirectory());
        File emptyDirectory = new File(outputDirectory, "EmptyDirectory");
        assertTrue(emptyDirectory.exists());
        assertTrue(emptyDirectory.isDirectory());
    }
}
TOP

Related Classes of edu.stanford.bmir.protege.web.server.util.ZipFileExtractor_TestCase

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.