Integration Testing Failed with SeamTest Jboss-embedded Mave
sheadley Mar 14, 2008 3:47 PMI am having problems building Simple Integration tests with SeamTest. My environment contains the following:
Seam 2.0.1 GA
Maven version: 2.0.7
Java version: 1.5.0_09
I obtained my embedded-jboss by placing the following into my pom.xml file which seems to build properly:
<dependency> <groupId>org.jboss.embedded</groupId> <artifactId>thirdparty-all</artifactId> <version>beta3</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.embedded</groupId> <artifactId>hibernate-all</artifactId> <version>beta3</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.embedded</groupId> <artifactId>jboss-embedded-all</artifactId> <version>beta3</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>org.jboss.embedded</groupId> <artifactId>jboss-embedded</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jboss.embedded</groupId> <artifactId>jboss-embedded</artifactId> <version>beta3</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>org.jboss.microcontainer</groupId> <artifactId>jboss-deployers-client-spi</artifactId> </exclusion> </exclusions> </dependency> for the repository: <repository> <id>jboss</id> <name>The JBoss maven repo</name> <url>http://repository.jboss.org/maven2</url> </repository>
I then copied the bootstrap folder into my resources directory.
When I run the following test:
package jmat.system.notification;
import org.jboss.seam.mock.SeamTest;
import org.testng.annotations.Test;
import org.jboss.seam.core.Manager;
import org.jboss.seam.web.Session;
public class RegisterTest extends SeamTest
{
@Test
public void testLoginComponent() throws Exception
{
new ComponentTest() {
@Override
protected void testComponents() throws Exception
{
assert getValue("#{identity.loggedIn}").equals(false);
setValue("#{identity.username}", "gavin");
setValue("#{identity.password}", "foobar");
invokeMethod("#{identity.login}");
assert getValue("#{user.name}").equals("Gavin King");
assert getValue("#{user.username}").equals("gavin");
assert getValue("#{user.password}").equals("foobar");
assert getValue("#{identity.loggedIn}").equals(true);
invokeMethod("#{identity.logout}");
assert getValue("#{identity.loggedIn}").equals(false);
setValue("#{identity.username}", "gavin");
setValue("#{identity.password}", "tiger");
invokeMethod("#{identity.login}");
assert getValue("#{identity.loggedIn}").equals(false);
}
}.run();
}
@Test
public void testLogin() throws Exception
{
new FacesRequest() {
@Override
protected void invokeApplication()
{
assert !isSessionInvalid();
assert getValue("#{identity.loggedIn}").equals(false);
}
}.run();
new FacesRequest() {
@Override
protected void updateModelValues() throws Exception
{
assert !isSessionInvalid();
setValue("#{identity.username}", "gavin");
setValue("#{identity.password}", "foobar");
}
@Override
protected void invokeApplication()
{
invokeAction("#{identity.login}");
}
@Override
protected void renderResponse()
{
assert getValue("#{user.name}").equals("Gavin King");
assert getValue("#{user.username}").equals("gavin");
assert getValue("#{user.password}").equals("foobar");
assert !Manager.instance().isLongRunningConversation();
assert getValue("#{identity.loggedIn}").equals(true);
}
}.run();
new FacesRequest() {
@Override
protected void invokeApplication()
{
assert !isSessionInvalid();
assert getValue("#{identity.loggedIn}").equals(true);
}
}.run();
new FacesRequest() {
@Override
protected void invokeApplication()
{
assert !Manager.instance().isLongRunningConversation();
assert !isSessionInvalid();
invokeMethod("#{identity.logout}");
assert Session.instance().isInvalid();
}
@Override
protected void renderResponse()
{
assert getValue("#{identity.loggedIn}").equals(false);
assert Session.instance().isInvalid();
}
}.run();
}
}
I get the following error:
[Parser] Running:
C:\svn_work0208\jmat\jmat-ejb\temp-testng-customsuite.xml
FAILED CONFIGURATION: @BeforeClass init
java.lang.RuntimeException: Unable to bootstrap:
at org.jboss.embedded.Bootstrap.bootstrapURL(Bootstrap.java:147)
at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:183)
at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:195)
at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:11)
at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1041)
at org.jboss.seam.mock.BaseSeamTest.startSeam(BaseSeamTest.java:935)
at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:923)
at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
Caused by: org.jboss.xb.binding.JBossXBRuntimeException: Failed to create a new SAX parser
at org.jboss.xb.binding.UnmarshallerFactory$UnmarshallerFactoryImpl.newUnmarshaller(UnmarshallerFactory.java:100)
at org.jboss.kernel.plugins.deployment.xml.BeanXMLDeployer.deploy(BeanXMLDeployer.java:85)
at org.jboss.embedded.Bootstrap.deployBaseBootstrapUrl(Bootstrap.java:130)
at org.jboss.embedded.Bootstrap.bootstrapURL(Bootstrap.java:142)
... 29 more
Caused by: org.jboss.xb.binding.JBossXBException: Failed to create a new SAX parser
at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.<init>(SaxJBossXBParser.java:97)
at org.jboss.xb.binding.UnmarshallerImpl.<init>(UnmarshallerImpl.java:55)
at org.jboss.xb.binding.UnmarshallerFactory$UnmarshallerFactoryImpl.newUnmarshaller(UnmarshallerFactory.java:96)
... 32 more
Caused by: javax.xml.parsers.ParserConfigurationException: Feature 'http://apache.org/xml/features/xinclude' is not recognized.
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.<init>(SaxJBossXBParser.java:92)
... 34 more
... Removed 22 stack frames
SKIPPED CONFIGURATION: @BeforeMethod begin
SKIPPED CONFIGURATION: @AfterMethod end
SKIPPED CONFIGURATION: @BeforeMethod begin
SKIPPED CONFIGURATION: @AfterMethod end
SKIPPED CONFIGURATION: @AfterClass cleanup
SKIPPED: testLogin
SKIPPED: testLoginComponent
===============================================
jmat.system.notification.RegisterTest
Tests run: 2, Failures: 0, Skips: 2
Configuration Failures: 1, Skips: 5
===============================================
===============================================
jmat-ejb
Total tests run: 2, Failures: 0, Skips: 2
Configuration Failures: 1, Skips: 5
===============================================
Any help or assistance would be appreciated
Regards,
Steven Headley