@Test()
public void testProcessorAndResourceDeploymentPackage() throws Exception {
File tempFile = File.createTempFile("output-", ".jar");
FileOutputStream output = new FileOutputStream(tempFile);
String name = "test";
String version = "1.0.0";
String bundleSymbolicName = "bundle";
String bundleVersion = "1.0.0";
File tempBundleFile = File.createTempFile(bundleSymbolicName + "-" + bundleVersion + "-", ".jar");
String pid = "my.processor";
File tempArtifactFile = File.createTempFile("artifact-", ".jar");
DeploymentPackageBuilder.createDeploymentPackage(name, version)
.addResourceProcessor(createResourceProcessor(bundleSymbolicName, bundleVersion, pid, tempBundleFile))
.addArtifact(createArtifact(pid, tempArtifactFile), pid)
.generate(output);
Manifest m = getManifest(tempFile);
Assert.assertEquals(name, m.getMainAttributes().getValue("DeploymentPackage-SymbolicName"));
Assert.assertEquals(version, m.getMainAttributes().getValue("DeploymentPackage-Version"));
Map<String, Attributes> entries = m.getEntries();
Assert.assertEquals(2, entries.size());
contains(entries.values(),
"Bundle-SymbolicName", bundleSymbolicName,
"Bundle-Version", bundleVersion,
"DeploymentPackage-Customizer", "true",
"Deployment-ProvidesResourceProcessor", pid);
contains(entries.values(),
"Resource-Processor", pid);
}