You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/08/06 22:50:09 UTC

svn commit: r429197 - in /incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy: AsyncInvokerTestCase.java mock/AsyncTarget.java

Author: jmarino
Date: Sun Aug  6 13:50:09 2006
New Revision: 429197

URL: http://svn.apache.org/viewvc?rev=429197&view=rev
Log:
add unit test for async invoker

Added:
    incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java   (with props)
    incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java   (with props)

Added: incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java?rev=429197&view=auto
==============================================================================
--- incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java (added)
+++ incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java Sun Aug  6 13:50:09 2006
@@ -0,0 +1,58 @@
+package org.apache.tuscany.container.groovy;
+
+import java.lang.reflect.Method;
+
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.services.work.WorkScheduler;
+import org.apache.tuscany.spi.wire.Message;
+import org.apache.tuscany.spi.wire.MessageImpl;
+
+import groovy.lang.GroovyObject;
+import junit.framework.TestCase;
+import org.apache.tuscany.container.groovy.mock.AsyncTarget;
+import org.apache.tuscany.core.policy.async.AsyncMonitor;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.getCurrentArguments;
+import static org.easymock.EasyMock.isA;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import org.easymock.IAnswer;
+import org.easymock.classextension.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class AsyncInvokerTestCase extends TestCase {
+
+    public void testInvoke() throws Exception {
+        GroovyObject instance = createMock(GroovyObject.class);
+        expect(instance.invokeMethod("invoke", null)).andReturn(null).once();
+        replay(instance);
+        GroovyAtomicComponent component = EasyMock.createMock(GroovyAtomicComponent.class);
+        expect(component.getTargetInstance()).andReturn(instance);
+        EasyMock.replay(component);
+        AsyncMonitor monitor = createMock(AsyncMonitor.class);
+        replay(monitor);
+
+        WorkScheduler scheduler = createMock(WorkScheduler.class);
+        scheduler.scheduleWork(isA(Runnable.class));
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                Runnable runnable = (Runnable) getCurrentArguments()[0];
+                runnable.run();
+                return null;
+            }
+        });
+        replay(scheduler);
+        WorkContext context = createMock(WorkContext.class);
+        Method method = AsyncTarget.class.getMethod("invoke");
+        method.setAccessible(true);
+        AsyncGroovyInvoker invoker = new AsyncGroovyInvoker("invoke", null, component, scheduler, monitor, context);
+        Message msg = new MessageImpl();
+        invoker.invoke(msg);
+        verify(instance);
+    }
+
+}

Propchange: incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java?rev=429197&view=auto
==============================================================================
--- incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java (added)
+++ incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java Sun Aug  6 13:50:09 2006
@@ -0,0 +1,9 @@
+package org.apache.tuscany.container.groovy.mock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface AsyncTarget {
+
+    void invoke();
+}

Propchange: incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org