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.completionstatus.Failure; import com.arjuna.mw.wsas.status.Completed; import com.arjuna.wsas.tests.WSASTestUtils; import com.arjuna.wsas.tests.arq.WarDeployment; @RunWith(Arquillian.class) public class TimeoutTest { @Deployment public static WebArchive createDeployment() { return WarDeployment.getDeployment( WSASTestUtils.class); } @Test public void testTimeout() throws Exception { UserActivity ua = UserActivityFactory.userActivity(); int timeout = ua.getTimeout(); try { ua.setTimeout(1); ua.start("dummy"); Thread.currentThread(); Thread.sleep(2000); if (!(ua.status() instanceof Completed)) { ua.end(); fail("Activity status should be Completed " + ua.status()); } if (!(ua.getCompletionStatus() instanceof Failure)) { fail("Activity completion status should be Failure " + ua.getCompletionStatus()); } System.out.println("Activity status: "+ua.status()); } finally { ua.setTimeout(timeout); WSASTestUtils.cleanup(ua); } } }