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"));
}
Aggregations