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.activity.ActivityHierarchy;
import com.arjuna.mw.wsas.common.GlobalId;
import com.arjuna.wsas.tests.WSASTestUtils;
import com.arjuna.wsas.tests.arq.WarDeployment;
@RunWith(Arquillian.class)
public class ResumeTest {
@Deployment
public static WebArchive createDeployment() {
return WarDeployment.getDeployment(
WSASTestUtils.class);
}
@Test
public void testResume()
throws Exception
{
UserActivity ua = UserActivityFactory.userActivity();
try
{
GlobalId ac1 = null;
GlobalId ac2 = null;
ua.start("dummy");
ac1 = ua.activityId();
System.out.println("Started: "+ac1);
ua.start("dummy");
ac2 = ua.activityId();
System.out.println("\nStarted: "+ac2);
ActivityHierarchy ctx = ua.suspend();
System.out.println("\nSuspended: "+ctx);
if (ua.currentActivity() != null) {
fail("Current activity shoudl be null " + ua.currentActivity());
}
ua.resume(ctx);
if (!ac2.equals(ua.activityId()))
{
fail("Current activity id " + ua.activityId() + " should equal " + ac2);
}
ua.end();
if (!ac1.equals(ua.activityId())) {
fail("Current activity id " + ua.activityId() + " should equal " + ac1);
}
} finally {
WSASTestUtils.cleanup(ua);
}
}
}