Search in sources :

Example 21 with ZipFile

use of org.codehaus.plexus.archiver.zip.ZipFile in project aries by apache.

the class EsaMojoTest method testSubsystemStartOrder.

public void testSubsystemStartOrder() throws Exception {
    File testPom = new File(getBasedir(), "target/test-classes/unit/basic-esa-start-order/plugin-config.xml");
    EsaMojo mojo = (EsaMojo) lookupMojo("esa", testPom);
    assertNotNull(mojo);
    String finalName = (String) getVariableValueFromObject(mojo, "finalName");
    String workDir = (String) getVariableValueFromObject(mojo, "workDirectory");
    String outputDir = (String) getVariableValueFromObject(mojo, "outputDirectory");
    mojo.execute();
    //check the generated esa file
    File esaFile = new File(outputDir, finalName + ".esa");
    assertTrue(esaFile.exists());
    //expected files/directories inside the esa file
    List expectedFiles = new ArrayList();
    expectedFiles.add("OSGI-INF/SUBSYSTEM.MF");
    expectedFiles.add("OSGI-INF/");
    expectedFiles.add("maven-artifact01-1.0-SNAPSHOT.jar");
    expectedFiles.add("maven-artifact02-1.0-SNAPSHOT.jar");
    ZipFile esa = new ZipFile(esaFile);
    Enumeration entries = esa.getEntries();
    assertTrue(entries.hasMoreElements());
    int missing = getSizeOfExpectedFiles(entries, expectedFiles);
    assertEquals("Missing files: " + expectedFiles, 0, missing);
    Manifest mf = getSubsystemManifest(esa);
    Map<String, Map<String, String>> header = getHeader(mf, "Subsystem-Content");
    Map<String, String> attributes = null;
    attributes = header.get("maven-artifact01-1.0-SNAPSHOT");
    assertNotNull(attributes);
    assertEquals("[1.0.0.SNAPSHOT,1.0.0.SNAPSHOT]", attributes.get("version"));
    // start-order is actually a directive, shows up here as the name+":"
    assertEquals("1", attributes.get("start-order:"));
    assertNull(attributes.get("type"));
    attributes = header.get("maven-artifact02-1.0-SNAPSHOT");
    assertNotNull(attributes);
    assertEquals("[1.0.0.SNAPSHOT,1.0.0.SNAPSHOT]", attributes.get("version"));
    assertEquals("2", attributes.get("start-order:"));
    assertNull(attributes.get("type"));
}
Also used : Enumeration(java.util.Enumeration) ZipFile(org.codehaus.plexus.archiver.zip.ZipFile) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) Manifest(java.util.jar.Manifest) ZipFile(org.codehaus.plexus.archiver.zip.ZipFile) File(java.io.File) Map(java.util.Map)

Aggregations

ZipFile (org.codehaus.plexus.archiver.zip.ZipFile)21 File (java.io.File)20 ArrayList (java.util.ArrayList)18 Enumeration (java.util.Enumeration)18 List (java.util.List)18 Map (java.util.Map)4 Manifest (java.util.jar.Manifest)4 ZipEntry (org.codehaus.plexus.archiver.zip.ZipEntry)2 BufferedReader (java.io.BufferedReader)1 InputStreamReader (java.io.InputStreamReader)1