package com.arjuna.wsas.tests.arq.basic;
import static org.junit.Assert.fail;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;
import com.arjuna.mw.wsas.UserActivity;
import com.arjuna.mw.wsas.UserActivityFactory;
import com.arjuna.mw.wsas.exceptions.NoActivityException;
import com.arjuna.wsas.tests.WSASTestUtils;
import com.arjuna.wsas.tests.arq.WarDeployment;
@RunWith(Arquillian.class)
public class NestedActivityTest {
@Deployment
public static WebArchive createDeployment() {
return WarDeployment.getDeployment(
WSASTestUtils.class);
}
@Test
public void testNestedActivity()
throws Exception
{
UserActivity ua = UserActivityFactory.userActivity();
try
{
ua.start("dummy");
System.out.println("Started: "+ua.activityName());
ua.start("dummy");
String nested = ua.activityName();
System.out.println("Started: "+nested);
System.out.println("\nEnding: "+nested);
ua.end();
String parent = ua.activityName();
System.out.println("\nCurrent: "+parent);
System.out.println("\nEnding: "+parent);
ua.end();
try {
if (ua.activityName() != null) {
fail("activity name should be null but is " + ua.activityName());
}
} catch (NoActivityException ex) {
// ok if we get here
}
System.out.println("\nEnded.");
}
catch (Exception ex)
{
WSASTestUtils.cleanup(ua);
throw ex;
}
}
}