package org.apache.maven.plugins.ear.it; | |
/* | |
* Licensed to the Apache Software Foundation (ASF) under one | |
* or more contributor license agreements. See the NOTICE file | |
* distributed with this work for additional information | |
* regarding copyright ownership. The ASF licenses this file | |
* to you under the Apache License, Version 2.0 (the | |
* "License"); you may not use this file except in compliance | |
* with the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, | |
* software distributed under the License is distributed on an | |
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
* KIND, either express or implied. See the License for the | |
* specific language governing permissions and limitations | |
* under the License. | |
*/ | |
import java.io.File; | |
import java.io.FileInputStream; | |
import java.util.Properties; | |
import java.util.jar.JarFile; | |
import java.util.jar.Manifest; | |
import org.apache.commons.io.IOUtils; | |
import org.codehaus.plexus.util.FileUtils; | |
import org.codehaus.plexus.util.ReaderFactory; | |
/** | |
* @author <a href="snicoll@apache.org">Stephane Nicoll</a> | |
*/ | |
public class EarMojoIT | |
extends AbstractEarPluginIT | |
{ | |
/** | |
* Builds an EAR with a single EJB and no configuration. | |
*/ | |
public void testProject001() | |
throws Exception | |
{ | |
doTestProject( "project-001", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a customized artifact location and a customized artifact name. | |
*/ | |
public void testProject002() | |
throws Exception | |
{ | |
doTestProject( "project-002", | |
new String[] { "APP-INF/lib/eartest-ejb-sample-one-1.0.jar", "ejb-sample-two.jar" } ); | |
} | |
/** | |
* Builds an EAR with a default bundle directory for {@code java} modules. | |
*/ | |
public void testProject003() | |
throws Exception | |
{ | |
doTestProject( "project-003", new String[] { "eartest-ejb-sample-one-1.0.jar", | |
"APP-INF/lib/eartest-jar-sample-one-1.0.jar", "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a default bundle directory for _java_ modules and a custom location overriding the default. | |
*/ | |
public void testProject004() | |
throws Exception | |
{ | |
doTestProject( "project-004", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar", | |
"APP-INF/lib/eartest-jar-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a custom URI. | |
*/ | |
public void testProject005() | |
throws Exception | |
{ | |
doTestProject( "project-005", new String[] { "eartest-ejb-sample-one-1.0.jar", "libs/another-name.jar" } ); | |
} | |
/** | |
* Builds an EAR with an excluded module. | |
*/ | |
public void testProject006() | |
throws Exception | |
{ | |
doTestProject( "project-006", | |
new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a classified artifact and no extra configuration. | |
*/ | |
public void testProject007() | |
throws Exception | |
{ | |
doTestProject( "project-007", new String[] { "eartest-ejb-sample-one-1.0-classified.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for J2EE 1.3. | |
*/ | |
public void testProject008() | |
throws Exception | |
{ | |
doTestProject( "project-008", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for J2EE 1.4. | |
*/ | |
public void testProject009() | |
throws Exception | |
{ | |
doTestProject( "project-009", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for Java EE 5. | |
*/ | |
public void testProject010() | |
throws Exception | |
{ | |
doTestProject( "project-010", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that deployment descriptor default settings are applied. | |
*/ | |
public void testProject011() | |
throws Exception | |
{ | |
doTestProject( "project-011", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that EAR resources are bundled within the EAR. | |
*/ | |
public void testProject012() | |
throws Exception | |
{ | |
doTestProject( "project-012", new String[] { "README.txt", "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that EAR resources in a customized resources directory are bundled within the EAR. | |
*/ | |
public void testProject013() | |
throws Exception | |
{ | |
doTestProject( "project-013", new String[] { "README.txt", "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that EAR resources are bundled within the EAR using includes and excludes. | |
*/ | |
public void testProject014() | |
throws Exception | |
{ | |
doTestProject( "project-014", new String[] { "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that default manifest is taken into account. | |
*/ | |
public void testProject015() | |
throws Exception | |
{ | |
final File baseDir = doTestProject( "project-015", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
final File expectedManifest = new File( baseDir, "src/main/application/META-INF/MANIFEST.MF" ); | |
final File actualManifest = new File( getEarDirectory( baseDir, "project-015" ), "META-INF/MANIFEST.MF" ); | |
assertTrue( "Manifest was not copied", actualManifest.exists() ); | |
assertTrue( FileUtils.contentEquals( expectedManifest, actualManifest ) ); | |
} | |
/** | |
* Builds an EAR and make sure that custom manifest is taken into account. | |
*/ | |
public void testProject016() | |
throws Exception | |
{ | |
final File baseDir = doTestProject( "project-016", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
final File createdEarFile = getEarArchive( baseDir, "project-016" ); | |
final File sourceManifestFile = new File( baseDir, "src/main/ear/MANIFEST.MF" ); | |
try ( JarFile jarFile = new JarFile( createdEarFile ); | |
FileInputStream in = new FileInputStream( sourceManifestFile ) ) | |
{ | |
Manifest manifestFromCreatedEARFile = jarFile.getManifest(); | |
Manifest sourceManifest = new Manifest( in ); | |
assertEquals( "There are differences in the manifest.", sourceManifest, manifestFromCreatedEARFile ); | |
} | |
} | |
/** | |
* Builds an EAR and make sure that custom application.xml is taken into account. | |
*/ | |
public void testProject017() | |
throws Exception | |
{ | |
doTestProject( "project-017", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a custom final name. | |
*/ | |
public void testProject018() | |
throws Exception | |
{ | |
final File baseDir = executeMojo( "project-018", new Properties() ); | |
final File expectedFile = new File( baseDir, "target/my-custom-file.ear" ); | |
assertTrue( "EAR archive not found", expectedFile.exists() ); | |
} | |
/** | |
* Builds an EAR with unpacked archives using the unpackTypes. | |
*/ | |
public void testProject019() | |
throws Exception | |
{ | |
doTestProject( "project-019", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-sar-sample-one-1.0.sar", | |
"eartest-jar-sample-one-1.0.jar" }, new boolean[] { false, true, true } ); | |
} | |
/** | |
* Builds an EAR with unpacked archives using the unpack module attribute. | |
*/ | |
public void testProject020() | |
throws Exception | |
{ | |
doTestProject( "project-020", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-sar-sample-one-1.0.sar", | |
"eartest-jar-sample-one-1.0.jar" }, new boolean[] { true, false, false } ); | |
} | |
/** | |
* Builds an EAR with unpacked archives using both unpackTypes and the unpack module attribute. | |
*/ | |
public void testProject021() | |
throws Exception | |
{ | |
doTestProject( "project-021", | |
new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar", | |
"eartest-sar-sample-one-1.0.sar", "eartest-jar-sample-one-1.0.jar", | |
"eartest-jar-sample-two-1.0.jar" }, | |
new boolean[] { false, true, false, false, true } ); | |
} | |
/** | |
* Builds an EAR with a classifier. | |
*/ | |
public void testProject022() | |
throws Exception | |
{ | |
final File baseDir = executeMojo( "project-022", new Properties() ); | |
final File expectedFile = new File( baseDir, "target/maven-ear-plugin-test-project-022-99.0-myclassifier.ear" ); | |
assertTrue( "EAR archive not found", expectedFile.exists() ); | |
} | |
/** | |
* Builds an EAR and make sure that a single classified dependency is detected without specifying the classifier. | |
*/ | |
public void testProject023() | |
throws Exception | |
{ | |
doTestProject( "project-023", | |
new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-two-1.0.jar" }, | |
new boolean[] { true, false } ); | |
} | |
/** | |
* Builds an EAR and make sure that a single classified dependency is detected when specifying the classifier. | |
*/ | |
public void testProject024() | |
throws Exception | |
{ | |
doTestProject( "project-024", | |
new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-two-1.0.jar" }, | |
new boolean[] { true, false } ); | |
} | |
/** | |
* Builds an EAR and make sure that a classified dependency with multiple candidates is detected when specifying the | |
* classifier. | |
*/ | |
public void testProject025() | |
throws Exception | |
{ | |
doTestProject( "project-025", | |
new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-one-1.0.jar" }, | |
new boolean[] { true, false } ); | |
} | |
/** | |
* Builds an EAR and make sure that the build fails if a unclassifed module configuration with multiple candidates is | |
* specified. | |
*/ | |
public void testProject026() | |
throws Exception | |
{ | |
final File baseDir = executeMojo( "project-026", new Properties(), false, true ); | |
// Stupido, checks that the ear archive is not there | |
assertFalse( "Execution should have failed", getEarArchive( baseDir, "project-026" ).exists() ); | |
} | |
/** | |
* Builds an EAR and make sure that provided dependencies are not included in the EAR. | |
*/ | |
public void testProject027() | |
throws Exception | |
{ | |
doTestProject( "project-027", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that test dependencies are not included in the EAR. | |
*/ | |
public void testProject028() | |
throws Exception | |
{ | |
doTestProject( "project-028", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that system dependencies are not included in the EAR. | |
*/ | |
public void testProject029() | |
throws Exception | |
{ | |
doTestProject( "project-029", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that ejb-client dependencies are detected and not added by default in the generated | |
* application.xml. | |
*/ | |
public void testProject030() | |
throws Exception | |
{ | |
doTestProject( "project-030", | |
new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 4 configuration specifying the security domain and the unauthenticated-principal to | |
* use. | |
*/ | |
public void testProject031() | |
throws Exception | |
{ | |
doTestProject( "project-031", | |
new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 3.2 configuration specifying the jmx-name to use. | |
*/ | |
public void testProject032() | |
throws Exception | |
{ | |
doTestProject( "project-032", | |
new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 4 configuration and Jboss specific modules. | |
*/ | |
public void testProject033() | |
throws Exception | |
{ | |
doTestProject( "project-033", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar", | |
"eartest-sar-sample-one-1.0.sar", "eartest-har-sample-one-1.0.har" } ); | |
} | |
/** | |
* Builds an EAR with custom security settings. | |
*/ | |
public void testProject034() | |
throws Exception | |
{ | |
doTestProject( "project-034", | |
new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a full filename mapping and make sure that custom locations are not overridden. | |
*/ | |
public void testProject035() | |
throws Exception | |
{ | |
doTestProject( "project-035", | |
new String[] { "foo/eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar", | |
"libs/eartest-jar-sample-one-1.0.jar", "libs/eartest-jar-sample-two-1.0.jar", | |
"sar-sample-one.sar" } ); | |
} | |
/** | |
* Builds an EAR with a full filename mapping and make sure that groupIds with dots are replaced by dashes in | |
* filenames. | |
*/ | |
public void testProject036() | |
throws Exception | |
{ | |
doTestProject( "project-036", | |
new String[] { "foo/eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar", | |
"com.foo.bar-ejb-sample-one-1.0.jar", "com.foo.bar-ejb-sample-two-1.0.jar", | |
"libs/eartest-jar-sample-one-1.0.jar", "libs/eartest-jar-sample-two-1.0.jar", | |
"sar-sample-one.sar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that ejb-client dependencies are detected and added in the generated application.xml | |
* if includeInApplicationXml is set. | |
*/ | |
public void testProject037() | |
throws Exception | |
{ | |
doTestProject( "project-037", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } ); | |
} | |
/** | |
* Builds an EAR and make sure that a non-classified dependency with multiple candidates is detected when specifying | |
* the mainArtifactId as classifier. | |
*/ | |
public void testProject038() | |
throws Exception | |
{ | |
doTestProject( "project-038", new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-one-1.0.jar" }, | |
new boolean[] { false, true } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 4 configuration specifying specifying the loader repository to use. | |
*/ | |
public void testProject039() | |
throws Exception | |
{ | |
doTestProject( "project-039", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for Java EE 5 and an alternative deployment descriptor. | |
*/ | |
public void testProject040() | |
throws Exception | |
{ | |
doTestProject( "project-040", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 4.2 configuration specifying the module order to use. | |
*/ | |
public void testProject041() | |
throws Exception | |
{ | |
doTestProject( "project-041", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 4.2 configuration specifying a datasource to add. | |
*/ | |
public void testProject042() | |
throws Exception | |
{ | |
doTestProject( "project-042", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a custom descriptor location (generatedDescriptorLocation setting). | |
*/ | |
public void testProject043() | |
throws Exception | |
{ | |
final File baseDir = doTestProject( "project-043", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
final File expectedApplicationXml = new File( baseDir, "target/custom-descriptor-dir/application.xml" ); | |
assertTrue( "Application.xml file not found", expectedApplicationXml.exists() ); | |
assertFalse( "Application.xml file should not be empty", expectedApplicationXml.length() == 0 ); | |
} | |
/** | |
* Builds an EAR with a custom library-directory. | |
*/ | |
public void testProject044() | |
throws Exception | |
{ | |
doTestProject( "project-044", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR and filter the content of the sources directory. | |
*/ | |
public void testProject045() | |
throws Exception | |
{ | |
final File baseDir = doTestProject( "project-045", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } ); | |
final File actualReadme = new File( getEarDirectory( baseDir, "project-045" ), "README.txt" ); | |
final String content = IOUtils.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) ); | |
assertTrue( "application name and version was not filtered properly", content.contains( "my-app 99.0" ) ); | |
assertTrue( "Escaping did not work properly", content.contains( "will not be filtered ${application.name}." ) ); | |
} | |
/** | |
* Builds an EAR and filter the content of the sources directory using a custom filter file. | |
*/ | |
public void testProject046() | |
throws Exception | |
{ | |
final File baseDir = doTestProject( "project-046", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } ); | |
final File actualReadme = new File( getEarDirectory( baseDir, "project-046" ), "README.txt" ); | |
final String content = IOUtils.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) ); | |
assertTrue( "application name and version was not filtered properly", content.contains( "my-app 99.0" ) ); | |
assertTrue( "application build was not filtered properly", content.contains( "(Build 2)" ) ); | |
assertTrue( "Unknown property should not have been filtered", | |
content.contains( "will not be filtered ${application.unknown}." ) ); | |
} | |
/** | |
* Builds an EAR and filter the content with a list of extensions. | |
*/ | |
public void testProject047() | |
throws Exception | |
{ | |
final File baseDir = doTestProject( "project-047", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } ); | |
final File actualReadme = new File( getEarDirectory( baseDir, "project-047" ), "README.txt" ); | |
final String content = IOUtils.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) ); | |
assertTrue( "application name and version should not have been filtered", !content.contains( "my-app 99.0" ) ); | |
assertTrue( "original properties not found", content.contains( "${application.name} ${project.version}" ) ); | |
} | |
/** | |
* Builds an EAR with a JBoss 5 configuration containing library directory. | |
*/ | |
public void testProject048() | |
throws Exception | |
{ | |
doTestProject( "project-048", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a JBoss 4.2 configuration containing a library directory. | |
*/ | |
public void testProject049() | |
throws Exception | |
{ | |
doTestProject( "project-049", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 5 configuration containing a loader repository configuration definition. | |
*/ | |
public void testProject050() | |
throws Exception | |
{ | |
doTestProject( "project-050", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 5 configuration containing a loader repository class definition. | |
*/ | |
public void testProject051() | |
throws Exception | |
{ | |
doTestProject( "project-051", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 5 configuration containing a configuration parser class definition. | |
*/ | |
public void testProject052() | |
throws Exception | |
{ | |
doTestProject( "project-052", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a Jboss 5 configuration containing only the loader repo configuration | |
*/ | |
public void testProject053() | |
throws Exception | |
{ | |
doTestProject( "project-053", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for Java EE 5 and no application.xml | |
*/ | |
public void testProject054() | |
throws Exception | |
{ | |
doTestProject( "project-054", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with jar dependencies added in application.xml. | |
*/ | |
public void testProject055() | |
throws Exception | |
{ | |
doTestProject( "project-055", new String[] { "eartest-jar-sample-one-1.0.jar", "eartest-jar-sample-two-1.0.jar", | |
"eartest-jar-sample-three-with-deps-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for J2EE 1.4 and an alternative deployment descriptor. | |
*/ | |
public void testProject056() | |
throws Exception | |
{ | |
doTestProject( "project-056", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a complete JBoss 4.2 configuration and validate it matches the DTD (MEAR-104). | |
*/ | |
public void testProject057() | |
throws Exception | |
{ | |
doTestProject( "project-057", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for Java EE 6. | |
*/ | |
public void testProject058() | |
throws Exception | |
{ | |
doTestProject( "project-058", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with no display name entry at all. | |
*/ | |
public void testProject059() | |
throws Exception | |
{ | |
doTestProject( "project-059", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with ejb-client packaged for J2EE 1.3 (MEAR-85) | |
*/ | |
public void testProject060() | |
throws Exception | |
{ | |
doTestProject( "project-060", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } ); | |
} | |
/** | |
* Builds an EAR with ejb-client packaged for J2EE 1.4 (MEAR-85) | |
*/ | |
public void testProject061() | |
throws Exception | |
{ | |
doTestProject( "project-061", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } ); | |
} | |
/** | |
* Builds an EAR with ejb-client packaged for JavaEE 5 (MEAR-85) | |
*/ | |
public void testProject062() | |
throws Exception | |
{ | |
doTestProject( "project-062", new String[] { "eartest-ejb-sample-one-1.0.jar", "lib/eartest-ejb-sample-two-1.0-client.jar" } ); | |
} | |
/** | |
* Builds an EAR with ejb-client packaged for JavaEE 6 (MEAR-85) | |
*/ | |
public void testProject063() | |
throws Exception | |
{ | |
doTestProject( "project-063", new String[] { "lib/eartest-ejb-sample-two-1.0-client.jar" } ); | |
} | |
/** | |
* Builds an EAR with ejb-client packaged for JavaEE 5 and still put it in the root (MEAR-85) | |
*/ | |
public void testProject064() | |
throws Exception | |
{ | |
doTestProject( "project-064", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } ); | |
} | |
/** | |
* Builds an EAR with a custom moduleId. | |
*/ | |
public void testProject065() | |
throws Exception | |
{ | |
doTestProject( "project-065", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with generateModuleId enabled. | |
*/ | |
public void testProject066() | |
throws Exception | |
{ | |
doTestProject( "project-066", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with generateModuleId enabled and a custom module. | |
*/ | |
public void testProject067() | |
throws Exception | |
{ | |
doTestProject( "project-067", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with the no-version file name mapping. | |
*/ | |
public void testProject068() | |
throws Exception | |
{ | |
doTestProject( "project-068", new String[] { "eartest-ejb-sample-one.jar", "eartest-ejb-sample-two.jar" } ); | |
} | |
/** | |
* Builds an EAR with a custom library-directory and JavaEE 6. | |
*/ | |
public void testProject069() | |
throws Exception | |
{ | |
doTestProject( "project-069", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with application-name and initialize-in-order tags. | |
*/ | |
public void testProject070() | |
throws Exception | |
{ | |
doTestProject( "project-070", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with application-name and initialize-in-order tags for unsupported version. | |
*/ | |
public void testProject071() | |
throws Exception | |
{ | |
doTestProject( "project-071", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with an application client module (app-client). | |
*/ | |
public void testProject072() | |
throws Exception | |
{ | |
doTestProject( "project-072", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-app-client-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with an application client module (app-client) and a default bundle directory for _java_ modules. | |
*/ | |
public void testProject073() | |
throws Exception | |
{ | |
doTestProject( "project-073", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-app-client-sample-one-1.0.jar", | |
"APP-INF/lib/eartest-jar-sample-one-1.0.jar", "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with custom env entries settings and J2EE 1.3. Not supported by the specification so this should be | |
* ignored. | |
*/ | |
public void testProject074() | |
throws Exception | |
{ | |
doTestProject( "project-074", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with custom env entries settings and J2EE 1.4. Not supported by the specification so this should be | |
* ignored. | |
*/ | |
public void testProject075() | |
throws Exception | |
{ | |
doTestProject( "project-075", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with custom env entries settings and JavaEE 5. Not supported by the specification so this should be | |
* ignored. | |
*/ | |
public void testProject076() | |
throws Exception | |
{ | |
doTestProject( "project-076", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with custom env entries settings and JavaEE 6. | |
*/ | |
public void testProject077() | |
throws Exception | |
{ | |
doTestProject( "project-077", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with the no version for ejb file name mapping. | |
*/ | |
public void testProject078() | |
throws Exception | |
{ | |
doTestProject( "project-078", | |
new String[] { "ejb-sample-one.jar", "war-sample-one.war", "jar-sample-two.jar" } ); | |
} | |
/** | |
* Builds an EAR with the 'default' library directory mode. Uses the value of the defaultLibBundleDir. | |
*/ | |
public void testProject079() | |
throws Exception | |
{ | |
doTestProject( "project-079", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with the 'empty' library directory mode. Generate an empty library-directory element. | |
*/ | |
public void testProject080() | |
throws Exception | |
{ | |
doTestProject( "project-080", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with the 'none' library directory mode. Does not generate an library-directory element. | |
*/ | |
public void testProject081() | |
throws Exception | |
{ | |
doTestProject( "project-081", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with deployment descriptor configuration for JavaEE 7. | |
*/ | |
public void testProject082() | |
throws Exception | |
{ | |
doTestProject( "project-082", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with a library directory and custom env entries. The library-directory element must come first | |
* (MEAR-158). | |
*/ | |
public void testProject083() | |
throws Exception | |
{ | |
doTestProject( "project-083", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Support of an application id (MEAR-174). | |
*/ | |
public void testProject084() | |
throws Exception | |
{ | |
doTestProject( "project-084", new String[] { "eartest-ejb-sample-one-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with custom ejbRef entries settings and JavaEE 6. | |
*/ | |
public void testProject085() | |
throws Exception | |
{ | |
doTestProject( "project-085", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with custom ejbRef entries plus lookup-name entry. | |
*/ | |
public void testProject086() | |
throws Exception | |
{ | |
doTestProject( "project-086", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds an EAR with resource-ref entries. | |
*/ | |
public void testProject087() | |
throws Exception | |
{ | |
doTestProject( "project-087", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } ); | |
} | |
/** | |
* Builds WAR and EAR as part of multi-module project twice so that the 2nd build is guaranteed to be performed when | |
* target directories and files exist. | |
*/ | |
public void testProject088() | |
throws Exception | |
{ | |
final String warModule = "eartest-war-sample-two-1.0.war"; | |
final String ejbModule = "eartest-ejb-sample-one-1.0.jar"; | |
final String jarSampleTwoLibrary = "lib/eartest-jar-sample-two-1.0.jar"; | |
final String[] expectedArtifacts = { warModule, ejbModule, jarSampleTwoLibrary }; | |
final boolean[] artifactsDirectory = { false, true, false }; | |
final String[] artifactsToValidateManifest = { warModule, ejbModule }; | |
final boolean[] artifactsToValidateManifestDirectory = { false, true }; | |
final String[][] expectedClassPathElements = { { jarSampleTwoLibrary }, { jarSampleTwoLibrary } }; | |
// "Clean" build - target directories and files do not exist | |
// Pass cleanBeforeExecute parameter to ensure that target location is cleaned before Mojo execution | |
doTestProject( "project-088", "ear", expectedArtifacts, artifactsDirectory, | |
artifactsToValidateManifest, artifactsToValidateManifestDirectory, expectedClassPathElements, true ); | |
// "Dirty" build - target directories and files exist | |
doTestProject( "project-088", "ear", expectedArtifacts, artifactsDirectory, | |
artifactsToValidateManifest, artifactsToValidateManifestDirectory, expectedClassPathElements, false ); | |
} | |
/** | |
* Validates modification of Class-Path entry of EAR modules manifest when | |
* <ul> | |
* <li>skinnyWars option is turned on</li> | |
* <li>skipClassPathModification option is turned off</li> | |
* </ul> | |
*/ | |
public void testProject089() | |
throws Exception | |
{ | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String ejbModule = "eartest-ejb-sample-three-1.0.jar"; | |
final String jarSampleTwoLibrary = "lib/eartest-jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "lib/eartest-jar-sample-three-with-deps-1.0.jar"; | |
doTestProject( "project-089", "ear", | |
new String[] { warModule, ejbModule, jarSampleTwoLibrary, jarSampleThreeLibrary }, | |
new boolean[] { false, false, false, false}, | |
new String[] { warModule, ejbModule }, | |
new boolean[] { false, false }, | |
new String[][] { { jarSampleTwoLibrary, jarSampleThreeLibrary }, { jarSampleThreeLibrary, jarSampleTwoLibrary } }, | |
true ); | |
} | |
/** | |
* Validates modification of Class-Path entry of EAR modules manifest when | |
* <ul> | |
* <li>skinnyWars option is turned on</li> | |
* <li>skipClassPathModification option is turned on</li> | |
* </ul> | |
*/ | |
public void testProject090() | |
throws Exception | |
{ | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String ejbModule = "eartest-ejb-sample-three-1.0.jar"; | |
final String jarSampleTwoLibrary = "lib/eartest-jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "lib/eartest-jar-sample-three-with-deps-1.0.jar"; | |
doTestProject( "project-090", "ear", | |
new String[] { warModule, ejbModule, jarSampleTwoLibrary, jarSampleThreeLibrary }, | |
new boolean[] { false, false, false, false }, | |
new String[] { warModule, ejbModule }, | |
new boolean[] { false, false }, | |
new String[][] { { jarSampleTwoLibrary }, { jarSampleThreeLibrary, jarSampleTwoLibrary } }, | |
true ); | |
} | |
/** | |
* Validates modification of Class-Path entry of EAR modules manifest when | |
* <ul> | |
* <li>skinnyWars option is turned off</li> | |
* <li>skipClassPathModification option is turned off</li> | |
* <li>unpacking of EJB JARs is turned on</li> | |
* </ul> | |
*/ | |
public void testProject091() | |
throws Exception | |
{ | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String ejbModule = "eartest-ejb-sample-three-1.0.jar"; | |
final String jarSampleTwoLibrary = "eartest-jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "eartest-jar-sample-three-with-deps-1.0.jar"; | |
doTestProject( "project-091", "ear", | |
new String[] { warModule, ejbModule, jarSampleTwoLibrary, jarSampleThreeLibrary }, | |
new boolean[] { false, true, false, false }, | |
new String[] { warModule, ejbModule }, | |
new boolean[] { false, true }, | |
new String[][] { { "jar-sample-two-1.0.jar" }, { jarSampleThreeLibrary, jarSampleTwoLibrary } }, | |
true ); | |
} | |
/** | |
* Ensures that when | |
* <ul> | |
* <li>skinnyWars option is turned off (has default value)</li> | |
* <li>skinnyModules options is turned on</li> | |
* </ul> | |
* then movement of JARs and modification of manifest Class-Path entry is performed for WAR, SAR, HAR and RAR | |
* modules. Additionally this test ensures that | |
* <ul> | |
* <li>movement of JARs is not performed for modules whose libDirectory property doesn't point to the correct module | |
* entry containing JAR libraries packaged into the module</li> | |
* <li>JAR with provided scope is removed from modules and from Class-Path entries</li> | |
* </ul> | |
*/ | |
public void testProject092() | |
throws Exception | |
{ | |
final String projectName = "project-092"; | |
final String earModuleName = "ear"; | |
final String jarSampleOneLibrary = "jar-sample-one-1.0.jar"; | |
final String jarSampleTwoLibrary = "jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "jar-sample-three-with-deps-1.0.jar"; | |
final String jarSampleOneEarLibrary = "libs/eartest-" + jarSampleOneLibrary; | |
final String jarSampleTwoEarLibrary = "libs/eartest-" + jarSampleTwoLibrary; | |
final String jarSampleThreeEarLibrary = "libs/eartest-" + jarSampleThreeLibrary; | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String sarModuleTwo = "eartest-sar-sample-two-1.0.sar"; | |
final String sarModuleThree = "eartest-sar-sample-three-1.0.sar"; | |
final String sarModuleFour = "eartest-sar-sample-four-1.0.sar"; | |
final String harModule = "eartest-har-sample-two-1.0.har"; | |
final String rarModule = "eartest-rar-sample-one-1.0.rar"; | |
final String[] earModules = { warModule, sarModuleTwo, sarModuleThree, sarModuleFour, harModule, rarModule }; | |
final boolean[] earModuleDirectory = { false, false, false, false, false, false }; | |
final String warModuleLibDir = "WEB-INF/lib/"; | |
final String sarModuleTwoLibDir = "libraries/"; | |
final String sarModuleThreeLibDir = ""; | |
final String sarModuleFourLibDir = "lib/"; | |
final String harModuleLibDir = "lib/"; | |
final String rarModuleLibDir = ""; | |
final File baseDir = doTestProject( projectName, earModuleName, | |
new String[] { warModule, sarModuleTwo, sarModuleThree, sarModuleFour, harModule, rarModule, | |
jarSampleOneEarLibrary, jarSampleTwoEarLibrary, jarSampleThreeEarLibrary }, | |
new boolean[] { false, false, false, false, false, false, false, false, false }, | |
earModules, earModuleDirectory, | |
new String[][] { | |
{ jarSampleTwoEarLibrary, jarSampleOneEarLibrary, jarSampleThreeEarLibrary }, | |
{ jarSampleThreeEarLibrary, jarSampleTwoEarLibrary, jarSampleOneEarLibrary }, | |
{ jarSampleThreeEarLibrary, jarSampleTwoEarLibrary, jarSampleOneEarLibrary }, | |
{ jarSampleOneEarLibrary, jarSampleTwoEarLibrary, jarSampleThreeEarLibrary }, | |
{ jarSampleOneEarLibrary, jarSampleThreeEarLibrary, jarSampleTwoEarLibrary }, | |
{ jarSampleThreeEarLibrary, jarSampleTwoEarLibrary, jarSampleOneEarLibrary } }, | |
true ); | |
assertEarModulesContent( baseDir, projectName, earModuleName, earModules, earModuleDirectory, | |
new String[][] { | |
{ warModuleLibDir }, | |
{ sarModuleTwoLibDir }, | |
{ sarModuleThreeLibDir }, | |
{ sarModuleFourLibDir + jarSampleOneLibrary }, | |
{ harModuleLibDir }, | |
{ rarModuleLibDir } }, | |
new String[][] { | |
{ warModuleLibDir + jarSampleTwoLibrary }, | |
{ sarModuleTwoLibDir + jarSampleTwoLibrary, sarModuleTwoLibDir + jarSampleThreeLibrary }, | |
{ sarModuleThreeLibDir + jarSampleTwoLibrary, sarModuleThreeLibDir + jarSampleThreeLibrary }, | |
{ }, | |
{ harModuleLibDir + jarSampleOneLibrary, harModuleLibDir + jarSampleTwoLibrary, harModuleLibDir + jarSampleThreeLibrary }, | |
{ rarModuleLibDir + jarSampleTwoLibrary, rarModuleLibDir + jarSampleThreeLibrary } } ); | |
} | |
/** | |
* Ensures that when | |
* <ul> | |
* <li>skinnyWars option is turned on</li> | |
* <li>skinnyModules options is turned off (has default value)</li> | |
* </ul> | |
* then movement of JARs and modification of manifest Class-Path entry is performed only for WAR module and not for | |
* SAR, HAR and RAR modules. | |
*/ | |
public void testProject093() | |
throws Exception | |
{ | |
final String projectName = "project-093"; | |
final String earModuleName = "ear"; | |
final String jarSampleOneLibrary = "jar-sample-one-1.0.jar"; | |
final String jarSampleTwoLibrary = "jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "jar-sample-three-with-deps-1.0.jar"; | |
final String jarSampleTwoEarLibrary = "lib/eartest-" + jarSampleTwoLibrary; | |
final String jarSampleThreeEarLibrary = "lib/eartest-" + jarSampleThreeLibrary; | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String sarModule = "eartest-sar-sample-two-1.0.sar"; | |
final String harModule = "eartest-har-sample-two-1.0.har"; | |
final String rarModule = "eartest-rar-sample-one-1.0.rar"; | |
final String[] earModules = { warModule, sarModule, harModule, rarModule }; | |
final boolean[] earModuleDirectory = { false, false, false, false }; | |
final String warModuleLibDir = "WEB-INF/lib/"; | |
final String sarModuleLibDir = "lib/"; | |
final String harModuleLibDir = "lib/"; | |
final String rarModuleLibDir = ""; | |
final File baseDir = doTestProject( projectName, earModuleName, | |
new String[] { warModule, sarModule, harModule, rarModule, jarSampleTwoEarLibrary, jarSampleThreeEarLibrary }, | |
new boolean[] { false, false, false, false, false, false }, | |
earModules, earModuleDirectory, | |
new String[][] { | |
{ jarSampleThreeEarLibrary, jarSampleTwoEarLibrary }, | |
{ jarSampleThreeLibrary, jarSampleTwoLibrary, jarSampleOneLibrary }, | |
null, | |
{ jarSampleOneLibrary, jarSampleThreeLibrary, jarSampleTwoLibrary } }, | |
true ); | |
assertEarModulesContent( baseDir, projectName, earModuleName, earModules, earModuleDirectory, | |
new String[][] { | |
{ warModuleLibDir }, | |
{ sarModuleLibDir + jarSampleOneLibrary, sarModuleLibDir + jarSampleTwoLibrary, sarModuleLibDir + jarSampleThreeLibrary }, | |
{ harModuleLibDir + jarSampleOneLibrary, harModuleLibDir + jarSampleTwoLibrary, harModuleLibDir + jarSampleThreeLibrary }, | |
{ rarModuleLibDir + jarSampleOneLibrary, rarModuleLibDir + jarSampleTwoLibrary, rarModuleLibDir + jarSampleThreeLibrary } } , | |
new String[][] { | |
{ warModuleLibDir + jarSampleTwoLibrary, warModuleLibDir + jarSampleThreeLibrary }, | |
{ }, | |
{ }, | |
{ } } ); | |
} | |
/** | |
* Ensures that when | |
* <ul> | |
* <li>skinnyWars option is turned off (has default value)</li> | |
* <li>skinnyModules options is turned off (has default value)</li> | |
* </ul> | |
* then | |
* <ul> | |
* <li>movement of JARs and modification of the manifest Class-Path entry is not performed for WAR, SAR, HAR and | |
* RAR modules</li> | |
* <li>modification of the manifest Class-Path entry is performed for EJB module</li> | |
* <li>provided JAR is removed from the manifest Class-Path entry of EJB module</li> | |
* </ul> | |
*/ | |
public void testProject094() | |
throws Exception | |
{ | |
final String projectName = "project-094"; | |
final String earModuleName = "ear"; | |
final String jarSampleOneLibrary = "jar-sample-one-1.0.jar"; | |
final String jarSampleTwoLibrary = "jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "jar-sample-three-with-deps-1.0.jar"; | |
final String jarSampleTwoEarLibrary = "lib/eartest-" + jarSampleTwoLibrary; | |
final String jarSampleThreeEarLibrary = "lib/eartest-" + jarSampleThreeLibrary; | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String sarModule = "eartest-sar-sample-two-1.0.sar"; | |
final String harModule = "eartest-har-sample-two-1.0.har"; | |
final String rarModule = "eartest-rar-sample-one-1.0.rar"; | |
final String ejbModule = "eartest-ejb-sample-three-1.0.jar"; | |
final String[] earModules = { warModule, sarModule, harModule, rarModule, ejbModule }; | |
final boolean[] earModuleDirectory = { false, false, false, false, false }; | |
final String warModuleLibDir = "WEB-INF/lib/"; | |
final String sarModuleLibDir = "lib/"; | |
final String harModuleLibDir = "lib/"; | |
final String rarModuleLibDir = ""; | |
final File baseDir = doTestProject( projectName, earModuleName, | |
new String[] { warModule, sarModule, harModule, rarModule, ejbModule, jarSampleTwoEarLibrary, | |
jarSampleThreeEarLibrary }, | |
new boolean[] { false, false, false, false, false, false, false }, | |
earModules, earModuleDirectory, | |
new String[][] { null, null, null, null, | |
new String[] { jarSampleThreeEarLibrary, jarSampleTwoEarLibrary } }, | |
true ); | |
assertEarModulesContent( baseDir, projectName, earModuleName, earModules, earModuleDirectory, | |
new String[][] { | |
{ warModuleLibDir + jarSampleTwoLibrary, warModuleLibDir + jarSampleThreeLibrary }, | |
{ sarModuleLibDir + jarSampleOneLibrary, sarModuleLibDir + jarSampleTwoLibrary, sarModuleLibDir + jarSampleThreeLibrary }, | |
{ harModuleLibDir + jarSampleOneLibrary, harModuleLibDir + jarSampleTwoLibrary, harModuleLibDir + jarSampleThreeLibrary }, | |
{ rarModuleLibDir + jarSampleOneLibrary, rarModuleLibDir + jarSampleTwoLibrary, rarModuleLibDir + jarSampleThreeLibrary }, | |
null } , | |
null ); | |
} | |
/** | |
* Ensures that test JAR dependency of WAR is handled as regular JAR in terms of packaging and manifest modification | |
* when skinnyWars option is turned on. | |
*/ | |
public void testProject095() | |
throws Exception | |
{ | |
final String warModule = "eartest-war-sample-two-1.0.war"; | |
final String jarSampleTwoLibrary = "lib/eartest-jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "lib/eartest-jar-sample-three-with-deps-1.0.jar"; | |
final String jarSampleFourTestLibrary = "lib/eartest-jar-sample-four-1.0-tests.jar"; | |
doTestProject( "project-095", "ear", | |
new String[] { warModule, jarSampleTwoLibrary, jarSampleThreeLibrary, jarSampleFourTestLibrary }, | |
new boolean[] { false, false, false, false }, | |
new String[] { warModule }, | |
new boolean[] { false }, | |
new String[][] { { jarSampleFourTestLibrary, jarSampleThreeLibrary, jarSampleTwoLibrary } }, | |
true ); | |
} | |
/** | |
* Ensures that test JAR dependency representing Java module is described in deployment descriptor | |
* if includeInApplicationXml property of module is {@code true}. | |
*/ | |
public void testProject096() | |
throws Exception | |
{ | |
final String warModule = "eartest-war-sample-two-1.0.war"; | |
final String jarSampleTwoLibrary = "eartest-jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "eartest-jar-sample-three-with-deps-1.0.jar"; | |
final String jarSampleFourTestLibrary = "eartest-jar-sample-four-1.0-tests.jar"; | |
final String jarSampleFiveLibrary = "eartest-jar-sample-five-1.0.jar"; | |
doTestProject( "project-096", "ear", | |
new String[] { warModule, jarSampleTwoLibrary, jarSampleThreeLibrary, jarSampleFourTestLibrary, jarSampleFiveLibrary }, | |
new boolean[] { false, false, false, false, false }, | |
new String[] { warModule }, | |
new boolean[] { false }, | |
new String[][] { { jarSampleFourTestLibrary, jarSampleFiveLibrary, jarSampleThreeLibrary, jarSampleTwoLibrary } }, | |
true ); | |
} | |
/** | |
* Ensures that artifacts with jboss-sar, jboss-har and jboss-par types are packaged in EAR and | |
* described in deployment descriptor when respective types are configured for EAR modules. | |
*/ | |
public void testProject097() | |
throws Exception | |
{ | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String sarSampleTwo = "eartest-sar-sample-two-1.0.sar"; | |
final String harSampleTwo = "eartest-har-sample-two-1.0.har"; | |
final String parSampleTwo = "eartest-par-sample-one-1.0.par"; | |
final String[] artifacts = { warModule, sarSampleTwo, harSampleTwo, parSampleTwo }; | |
final boolean[] artifactsDirectory = { false, false, false, false }; | |
doTestProject( "project-097", "ear", artifacts, artifactsDirectory, null, null, null , true ); | |
} | |
/** | |
* Ensures that when skinnyModules option is turned on then | |
* <ul> | |
* <li>EAR module whose classPathItem property is {@code false} is removed from the Class-Path entry of | |
* MANIFEST.mf of other modules</li> | |
* <li>EAR module whose classPathItem property is {@code true} is added into the Class-Path entry of MANIFEST.mf | |
* or existing reference is updated to match location of the module</li> | |
* <li>EAR module is removed from WARs and RARs (from modules which include their dependencies)</li> | |
* </ul> | |
*/ | |
public void testProject098() | |
throws Exception | |
{ | |
final String projectName = "project-098"; | |
final String earModuleName = "ear"; | |
final String jarSampleOneLibrary = "jar-sample-one-1.0.jar"; | |
final String jarSampleTwoLibrary = "jar-sample-two-1.0.jar"; | |
final String jarSampleThreeLibrary = "jar-sample-three-with-deps-1.0.jar"; | |
final String ejbFourClientLibrary = "ejb-sample-four-1.0-client.jar"; | |
final String jarSampleOneEarLibrary = "lib/eartest-" + jarSampleOneLibrary; | |
final String jarSampleTwoEarLibrary = "lib/eartest-" + jarSampleTwoLibrary; | |
final String jarSampleThreeEarLibrary = "lib/eartest-" + jarSampleThreeLibrary; | |
final String ejbFourClientEarLibrary = "lib/eartest-" + ejbFourClientLibrary; | |
final String ejbThreeLibrary = "ejb-sample-three-1.0.jar"; | |
final String ejbFourLibrary = "ejb-sample-four-1.0.jar"; | |
final String ejbThreeModule = "eartest-" + ejbThreeLibrary; | |
final String ejbFourModule = "eartest-" + ejbFourLibrary; | |
final String rarLibrary = "rar-sample-one-1.0.rar"; | |
final String rarModule = "eartest-" + rarLibrary; | |
final String warModule = "eartest-war-sample-three-1.0.war"; | |
final String[] earModules = { ejbThreeModule, ejbFourModule, rarModule, warModule }; | |
final boolean[] earModuleDirectory = { false, false, false, false }; | |
final String warModuleLibDir = "WEB-INF/lib/"; | |
final String rarModuleLibDir = ""; | |
final File baseDir = doTestProject( projectName, earModuleName, | |
new String[] { ejbThreeModule, ejbFourModule, rarModule, warModule, | |
jarSampleOneEarLibrary, jarSampleTwoEarLibrary, jarSampleThreeEarLibrary, ejbFourClientEarLibrary }, | |
new boolean[] { false, false, false, false, false, false, false, false }, | |
earModules, earModuleDirectory, | |
new String[][] { | |
{ jarSampleThreeEarLibrary, jarSampleTwoEarLibrary, ejbFourClientEarLibrary, jarSampleOneEarLibrary }, | |
{ jarSampleOneEarLibrary, jarSampleTwoEarLibrary, jarSampleThreeEarLibrary, ejbFourClientEarLibrary }, | |
{ jarSampleThreeEarLibrary, jarSampleTwoEarLibrary, jarSampleOneEarLibrary, ejbFourClientEarLibrary }, | |
{ jarSampleOneEarLibrary, jarSampleThreeEarLibrary, jarSampleTwoEarLibrary, ejbFourClientEarLibrary } }, | |
true ); | |
assertEarModulesContent( baseDir, projectName, earModuleName, earModules, earModuleDirectory, | |
new String[][] { null, null, null, { warModuleLibDir } }, | |
new String[][] { null, null, | |
{ | |
rarModuleLibDir + jarSampleTwoLibrary, | |
rarModuleLibDir + jarSampleThreeLibrary, | |
rarModuleLibDir + ejbFourLibrary, | |
rarModuleLibDir + ejbFourClientLibrary, | |
}, | |
{ | |
warModuleLibDir + jarSampleOneLibrary, | |
rarModuleLibDir + jarSampleThreeLibrary, | |
rarModuleLibDir + jarSampleTwoLibrary, | |
warModuleLibDir + ejbThreeLibrary, | |
warModuleLibDir + ejbFourLibrary, | |
warModuleLibDir + ejbFourClientLibrary, | |
warModuleLibDir + rarLibrary, | |
warModuleLibDir + rarLibrary | |
} } ); | |
} | |
} |