TestNG - How do I test Seam components?
charliebarjel Jan 7, 2010 12:12 AMHi,
I have written a simple Test to return all users from my LDAP Identity Store.
But the tests always fail with "No application context active".
Im not sure what im doing wrong or I have forgotten to set anything up.
Can anyone help?
package au.com.statewater.koncentrator.test;
import java.util.List;
import org.jboss.seam.Component;
import org.jboss.seam.mock.SeamTest;
import org.jboss.seam.security.management.IdentityManager;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class LdapUserTest extends SeamTest {
private IdentityManager identityManager;
@Test
public void testLdapSearch() {
List<String> users = identityManager.listUsers();
for (String s : users) {
System.out.println("User: " + s);
}
}
@BeforeClass
public void init()
{
identityManager = (IdentityManager) Component.getInstance("identityManager");
}
@AfterClass
public void destroy()
{
}
}Stack Trace
java.lang.IllegalStateException: No application context active at org.jboss.seam.Component.forName(Component.java:1945) at org.jboss.seam.Component.getInstance(Component.java:2005) at org.jboss.seam.Component.getInstance(Component.java:1983) at org.jboss.seam.Component.getInstance(Component.java:1977) at org.jboss.seam.Component.getInstance(Component.java:1972) at au.com.statewater.koncentrator.test.LdapUserTest.init(LdapUserTest.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:607) at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:417) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:154) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:88) at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:167) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:104) at org.testng.TestRunner.runWorkers(TestRunner.java:759) at org.testng.TestRunner.privateRun(TestRunner.java:592) at org.testng.TestRunner.run(TestRunner.java:486) at org.testng.SuiteRunner.runTest(SuiteRunner.java:332) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:327) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:299) at org.testng.SuiteRunner.run(SuiteRunner.java:204) at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:877) at org.testng.TestNG.runSuitesLocally(TestNG.java:842) at org.testng.TestNG.run(TestNG.java:751) at org.testng.TestNG.privateMain(TestNG.java:914) at org.testng.TestNG.main(TestNG.java:887)