Search in sources :

Example 1 with UserActivity

use of com.arjuna.mw.wsas.UserActivity in project narayana by jbosstm.

the class StartEndTest method testStartEnd.

@Test
public void testStartEnd() throws Exception {
    UserActivity ua = UserActivityFactory.userActivity();
    ua.start("dummy");
    ua.end();
}
Also used : UserActivity(com.arjuna.mw.wsas.UserActivity) Test(org.junit.Test)

Example 2 with UserActivity

use of com.arjuna.mw.wsas.UserActivity in project narayana by jbosstm.

the class NestedActivityTest method testNestedActivity.

@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;
    }
}
Also used : UserActivity(com.arjuna.mw.wsas.UserActivity) NoActivityException(com.arjuna.mw.wsas.exceptions.NoActivityException) NoActivityException(com.arjuna.mw.wsas.exceptions.NoActivityException) Test(org.junit.Test)

Example 3 with UserActivity

use of com.arjuna.mw.wsas.UserActivity in project narayana by jbosstm.

the class ResumeTest method testResume.

@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);
    }
}
Also used : UserActivity(com.arjuna.mw.wsas.UserActivity) ActivityHierarchy(com.arjuna.mw.wsas.activity.ActivityHierarchy) GlobalId(com.arjuna.mw.wsas.common.GlobalId) Test(org.junit.Test)

Example 4 with UserActivity

use of com.arjuna.mw.wsas.UserActivity in project narayana by jbosstm.

the class TimeoutTest method testTimeout.

@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);
    }
}
Also used : Completed(com.arjuna.mw.wsas.status.Completed) UserActivity(com.arjuna.mw.wsas.UserActivity) Failure(com.arjuna.mw.wsas.completionstatus.Failure) Test(org.junit.Test)

Example 5 with UserActivity

use of com.arjuna.mw.wsas.UserActivity in project narayana by jbosstm.

the class Context2Test method testContext2.

@Test
public void testContext2() throws Exception {
    UserActivity ua = UserActivityFactory.userActivity();
    DemoHLS demoHLS = new DemoHLS();
    // this constructor means it will not fail
    FailureHLS failureHLS = new FailureHLS();
    HLS[] currentHLS = ActivityManagerFactory.activityManager().allHighLevelServices();
    for (HLS hls : currentHLS) {
        ActivityManagerFactory.activityManager().removeHLS(hls);
    }
    try {
        ActivityManagerFactory.activityManager().addHLS(demoHLS);
        ActivityManagerFactory.activityManager().addHLS(failureHLS);
        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        org.w3c.dom.Document doc = docBuilder.newDocument();
        org.w3c.dom.Element root = doc.createElement("Context2-test");
        doc.appendChild(root);
        String demoServiceType = demoHLS.identity();
        String failureServiceType = failureHLS.identity();
        ua.start(demoServiceType);
        System.out.println("Started: " + ua.activityName());
        ua.start(failureServiceType);
        System.out.println("Started: " + ua.activityName() + "\n");
        String currentServiceType = ua.serviceType();
        if (currentServiceType != failureServiceType) {
            fail("invalid service type for current activity");
        }
        ContextManager contextManager = new ContextManager();
        Context demoServiceContext;
        Context failureServiceContext;
        demoServiceContext = contextManager.context(demoServiceType);
        failureServiceContext = contextManager.context(failureServiceType);
        if (failureServiceContext == null) {
            fail("Failure context not found");
        } else if (demoServiceContext != null) {
            fail("Found multiple contexts");
        }
        if (!(failureServiceContext instanceof DemoSOAPContextImple)) {
            fail("Failure context not found");
        }
        ((SOAPContext) failureServiceContext).serialiseToElement(root);
        System.out.println("Faiure Context is " + root.getTextContent());
        ua.end();
        System.out.println("\nFinished child activity.\n");
        currentServiceType = ua.serviceType();
        if (currentServiceType != demoServiceType) {
            fail("invalid service type for current activity");
        }
        demoServiceContext = contextManager.context(demoServiceType);
        failureServiceContext = contextManager.context(failureServiceType);
        if (demoServiceContext == null) {
            fail("Demo context not found");
        } else if (failureServiceContext != null) {
            fail("Found multiple contexts");
        }
        if (!(demoServiceContext instanceof DemoSOAPContextImple)) {
            fail("Demo context not found");
        }
        ((SOAPContext) demoServiceContext).serialiseToElement(root);
        System.out.println("Demo Context is " + root.getTextContent());
        ua.end();
        System.out.println("\nFinished parent activity.\n");
    } catch (Exception ex) {
        WSASTestUtils.cleanup(ua);
        throw ex;
    } finally {
        try {
            for (HLS hls : currentHLS) {
                ActivityManagerFactory.activityManager().addHLS(hls);
            }
        } catch (Exception ex) {
        // ignore this
        }
        try {
            if (demoHLS != null) {
                ActivityManagerFactory.activityManager().removeHLS(demoHLS);
            }
        } catch (Exception ex) {
        // ignore this
        }
        try {
            if (failureHLS != null) {
                ActivityManagerFactory.activityManager().removeHLS(failureHLS);
            }
        } catch (Exception ex) {
        // ignore this
        }
    }
}
Also used : Context(com.arjuna.mw.wsas.context.Context) SOAPContext(com.arjuna.mw.wsas.context.soap.SOAPContext) DocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory) DemoSOAPContextImple(com.arjuna.wsas.tests.DemoSOAPContextImple) UserActivity(com.arjuna.mw.wsas.UserActivity) FailureHLS(com.arjuna.wsas.tests.FailureHLS) DemoHLS(com.arjuna.wsas.tests.DemoHLS) HLS(com.arjuna.mw.wsas.activity.HLS) DocumentBuilder(javax.xml.parsers.DocumentBuilder) ContextManager(com.arjuna.mw.wsas.context.ContextManager) DemoHLS(com.arjuna.wsas.tests.DemoHLS) SOAPContext(com.arjuna.mw.wsas.context.soap.SOAPContext) FailureHLS(com.arjuna.wsas.tests.FailureHLS) Test(org.junit.Test)

Aggregations

UserActivity (com.arjuna.mw.wsas.UserActivity)12 Test (org.junit.Test)12 ActivityHierarchy (com.arjuna.mw.wsas.activity.ActivityHierarchy)3 HLS (com.arjuna.mw.wsas.activity.HLS)3 ContextManager (com.arjuna.mw.wsas.context.ContextManager)3 NoActivityException (com.arjuna.mw.wsas.exceptions.NoActivityException)3 DemoHLS (com.arjuna.wsas.tests.DemoHLS)3 Context (com.arjuna.mw.wsas.context.Context)2 SOAPContext (com.arjuna.mw.wsas.context.soap.SOAPContext)2 DemoSOAPContextImple (com.arjuna.wsas.tests.DemoSOAPContextImple)2 DocumentBuilder (javax.xml.parsers.DocumentBuilder)2 DocumentBuilderFactory (javax.xml.parsers.DocumentBuilderFactory)2 Outcome (com.arjuna.mw.wsas.activity.Outcome)1 GlobalId (com.arjuna.mw.wsas.common.GlobalId)1 Failure (com.arjuna.mw.wsas.completionstatus.Failure)1 Completed (com.arjuna.mw.wsas.status.Completed)1 FailureHLS (com.arjuna.wsas.tests.FailureHLS)1