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/05/23 06:09:56 UTC

svn commit: r408828 - in /incubator/tuscany/sandbox/jboynes/sca: containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/ core2/src/main/java/org/apache/tuscany/core/context/scope/ core2/src/test/java/org/apache/tuscany/core/syste...

Author: jmarino
Date: Mon May 22 21:09:55 2006
New Revision: 408828

URL: http://svn.apache.org/viewvc?rev=408828&view=rev
Log:
conversion of testcases to jmock; groovy refactor

Modified:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/CompositePropagationTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/DuplicateRegistrationTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeContextResolutionTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeLifecycleTestCase.java

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicContext.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicContext.java Mon May 22 21:09:55 2006
@@ -29,6 +29,7 @@
 import org.apache.tuscany.spi.context.TargetException;
 import org.apache.tuscany.spi.extension.AtomicContextExtension;
 import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.wire.SourceWire;
 import org.codehaus.groovy.control.CompilationFailedException;
 
 /**
@@ -89,14 +90,13 @@
     }
 
     public void init(Object instance) throws TargetException {
-        //GroovyObject object = (GroovyObject) instance;
-        //for (SourceWire wire : sourceWires) {
-        // wire from the groovy script to targets
-        //    object.setProperty(wire.getReferenceName(), wire.getTargetService());
-        //}
+        GroovyObject object = (GroovyObject) instance;
+        for (SourceWire wire : sourceWires) {
+            //wire from the groovy script to targets
+            object.setProperty(wire.getReferenceName(), wire.getTargetService());
+        }
     }
 
     public void destroy(Object instance) throws TargetException {
-
     }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java Mon May 22 21:09:55 2006
@@ -52,7 +52,7 @@
         } else if (event instanceof ModuleStop) {
             shutdownContexts();
         }
-    }
+     }
 
     public synchronized void start() {
         if (lifecycleState != UNINITIALIZED && lifecycleState != STOPPED) {

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/AutowireTestCase.java Mon May 22 21:09:55 2006
@@ -3,44 +3,36 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import junit.framework.TestCase;
-import org.apache.tuscany.core.context.WorkContextImpl;
-import org.apache.tuscany.core.context.event.ModuleStart;
-import org.apache.tuscany.core.context.scope.ModuleScopeContext;
-import org.apache.tuscany.core.mock.factories.MockContextFactory;
-import org.apache.tuscany.core.mock.context.MockReferenceContext;
-import org.apache.tuscany.core.mock.context.MockTargetWire;
-import org.apache.tuscany.core.system.wire.SystemSourceWire;
-import org.apache.tuscany.core.system.wire.SystemTargetWire;
-import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.context.WorkContext;
-import org.apache.tuscany.spi.wire.SourceWire;
-import org.apache.tuscany.spi.wire.TargetWire;
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
 
 /**
  * Performs basic autowiring tests to composite artifacts
+ *
  * @version $$Rev$$ $$Date$$
  */
-public class AutowireTestCase extends TestCase {
+public class AutowireTestCase extends MockObjectTestCase {
 
     /**
      * Tests autowiring to an atomic context
+     *
      * @throws Exception
      */
     public void testAtomicAutowire() throws Exception {
-        WorkContext workContext = new WorkContextImpl();
-        ModuleScopeContext scopeContext = new ModuleScopeContext(workContext);
-        scopeContext.start();
         SystemCompositeContext<?> parent = new SystemCompositeContextImpl("parent", null, null);
         parent.start();
+
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
         interfaces.add(Source2.class);
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("source", interfaces, SourceImpl.class);
-        scopeContext.register(context);
-        context.setScopeContext(scopeContext);
+        Source originalSource = new SourceImpl();
+        Mock mock = mock(SystemAtomicContext.class);
+        mock.stubs().method("getName").will(returnValue("source"));
+        mock.stubs().method("getService").will(returnValue(originalSource));
+        mock.stubs().method("getServiceInterfaces").will(returnValue(interfaces));
+        SystemAtomicContext context = (SystemAtomicContext) mock.proxy();
         parent.registerContext(context);
-        scopeContext.publish(new ModuleStart(this, parent));
+
         Source source = parent.resolveInstance(Source.class);
         assertNotNull(source);
         Source2 source2 = parent.resolveInstance(Source2.class);
@@ -52,28 +44,31 @@
      * Tests autowiring to a service context which is wired to an atomic context.
      */
     public void testServiceAutowire() throws Exception {
-        WorkContext workContext = new WorkContextImpl();
-        ModuleScopeContext scopeContext = new ModuleScopeContext(workContext);
-        scopeContext.start();
         SystemCompositeContext<?> parent = new SystemCompositeContextImpl("parent", null, null);
         parent.start();
+
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
         interfaces.add(Source2.class);
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("source", interfaces, SourceImpl.class);
-        scopeContext.register(context);
-        context.setScopeContext(scopeContext);
-
-        TargetWire<Source> targetWire = new SystemTargetWire<Source>(Source.class, context);
-        SourceWire<Source> wire = new SystemSourceWire<Source>("sourceService", new QualifiedName("source"), Source.class);
-        wire.setTargetWire(targetWire);
 
-        SystemServiceContext<Source> serviceContext = new SystemServiceContextImpl<Source>("sourceService", wire, parent);
+        Source serviceSource = new SourceImpl();
+        Mock mock = mock(SystemServiceContext.class);
+        mock.stubs().method("getName").will(returnValue("service"));
+        mock.stubs().method("getService").will(returnValue(serviceSource));
+        mock.stubs().method("getInterface").will(returnValue(Source.class));
+        SystemServiceContext serviceContext = (SystemServiceContext) mock.proxy();
         parent.registerContext(serviceContext);
+
+        Source atomicSource = new SourceImpl();
+        Mock mock2 = mock(SystemAtomicContext.class);
+        mock2.stubs().method("getName").will(returnValue("source"));
+        mock2.stubs().method("getService").will(returnValue(atomicSource));
+        mock2.stubs().method("getServiceInterfaces").will(returnValue(interfaces));
+        SystemAtomicContext context = (SystemAtomicContext) mock2.proxy();
         parent.registerContext(context);
-        scopeContext.publish(new ModuleStart(this, parent));
+
         Source source = parent.resolveExternalInstance(Source.class);
-        assertNotNull(source);
+        assertSame(serviceSource, source);
         Source2 source2 = parent.resolveExternalInstance(Source2.class);
         assertNull(source2);
     }
@@ -82,17 +77,17 @@
      * Tests autowiring to a reference
      */
     public void testReferenceAutowire() throws Exception {
-        WorkContext workContext = new WorkContextImpl();
-        ModuleScopeContext scopeContext = new ModuleScopeContext(workContext);
-        scopeContext.start();
         SystemCompositeContext<?> parent = new SystemCompositeContextImpl("parent", null, null);
         parent.start();
-        MockReferenceContext<Source> referenceContext = new MockReferenceContext<Source>("sourceReference", parent, Source.class);
-        // create a mock wire for the reference which just holds a pre-instantiated target
-        TargetWire<Source> wire = new MockTargetWire<Source>(Source.class, new SourceImpl());
-        referenceContext.setTargetWire(wire);
+
+        Source refSource = new SourceImpl();
+        Mock mock = mock(SystemReferenceContext.class);
+        mock.stubs().method("getName").will(returnValue("service"));
+        mock.stubs().method("getService").will(returnValue(refSource));
+        mock.stubs().method("getInterface").will(returnValue(Source.class));
+        SystemReferenceContext referenceContext = (SystemReferenceContext) mock.proxy();
         parent.registerContext(referenceContext);
-        scopeContext.publish(new ModuleStart(this, parent));
+
         Source source = parent.resolveInstance(Source.class);
         assertNotNull(source);
         assertNull(parent.resolveExternalInstance(Source.class));

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/CompositePropagationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/CompositePropagationTestCase.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/CompositePropagationTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/CompositePropagationTestCase.java Mon May 22 21:09:55 2006
@@ -3,7 +3,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import junit.framework.TestCase;
 import org.apache.tuscany.core.context.WorkContextImpl;
 import org.apache.tuscany.core.context.event.ModuleStart;
 import org.apache.tuscany.core.context.event.ModuleStop;
@@ -12,88 +11,39 @@
 import org.apache.tuscany.core.injection.MethodEventInvoker;
 import org.apache.tuscany.core.mock.component.ModuleScopeInitDestroyComponent;
 import org.apache.tuscany.core.mock.component.Source;
-import org.apache.tuscany.core.mock.component.SourceImpl;
 import org.apache.tuscany.core.mock.factories.MockContextFactory;
 import org.apache.tuscany.spi.context.AtomicContext;
-import org.apache.tuscany.spi.context.CompositeContext;
 import org.apache.tuscany.spi.context.WorkContext;
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
 
 /**
  * Tests registering arbirarily deep child composite contexts
  *
  * @version $Rev$ $Date$
  */
-public class CompositePropagationTestCase extends TestCase {
+public class CompositePropagationTestCase extends MockObjectTestCase {
 
-    private EventInvoker<Object> initInvoker;
-    private EventInvoker<Object> destroyInvoker;
     private SystemCompositeContext parent;
     private SystemCompositeContext child1;
     private SystemCompositeContext child2;
-    private ModuleScopeContext scopeContext;
 
     public void testLifecyclePropagation() throws NoSuchMethodException {
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("source", SourceImpl.class);
-
         parent.start();
-        scopeContext.register(context);
-        context.setScopeContext(scopeContext);
+        List<Class<?>> interfaces = new ArrayList<Class<?>>();
+        interfaces.add(Source.class);
+        Mock mock = mock(SystemAtomicContext.class);
+        mock.stubs().method("getName").will(returnValue("source"));
+        mock.expects(once()).method("stop");
+        mock.stubs().method("getServiceInterfaces").will(returnValue(interfaces));
+        SystemAtomicContext context = (SystemAtomicContext) mock.proxy();
         child2.registerContext(context);
-        scopeContext.publish(new ModuleStart(this, parent));
-
-        AtomicContext ctx = (AtomicContext) child2.getContext("source");
-        Source source = (Source) ctx.getService();
-        assertNotNull(source);
-
-        CompositeContext composite1 = (CompositeContext) parent.getContext("child1");
-        CompositeContext composite2 = (CompositeContext) composite1.getContext("child2");
-        AtomicContext ctx2 = (AtomicContext) composite2.getContext("source");
-        Source source2 = (Source) ctx2.getService();
-        assertSame(source, source2);
-
-        scopeContext.onEvent(new ModuleStop(this, parent));
         parent.stop();
-        scopeContext.stop();
-
-        //restart
-        scopeContext.start();
-        parent.start();
-
-        AtomicContext ctx3 = (AtomicContext) child2.getContext("source");
-        Source source3 = (Source) ctx3.getService();
-        assertNotSame(source, source3);
     }
 
-    public void testEventPropagation() throws NoSuchMethodException {
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(ModuleScopeInitDestroyComponent.class);
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("source", interfaces,
-                ModuleScopeInitDestroyComponent.class, false, initInvoker, destroyInvoker, null, null);
-
-        parent.start();
-        scopeContext.register(context);
-        context.setScopeContext(scopeContext);
-        child2.registerContext(context);
-        scopeContext.publish(new ModuleStart(this, parent));
-
-        AtomicContext ctx = (AtomicContext) child2.getContext("source");
-        ModuleScopeInitDestroyComponent source = (ModuleScopeInitDestroyComponent) ctx.getService();
-        assertNotNull(source);
-        assertTrue(source.isInitialized());
-
-        scopeContext.onEvent(new ModuleStop(this, parent));
-        assertTrue(source.isDestroyed());
-    }
 
     protected void setUp() throws Exception {
         super.setUp();
-        initInvoker = new MethodEventInvoker<Object>(ModuleScopeInitDestroyComponent.class.getMethod("init"));
-        destroyInvoker = new MethodEventInvoker<Object>(ModuleScopeInitDestroyComponent.class.getMethod("destroy"));
-
-        WorkContext workContext = new WorkContextImpl();
-        scopeContext = new ModuleScopeContext(workContext);
-        scopeContext.start();
-
         parent = new SystemCompositeContextImpl("parent", null, null);
         child1 = new SystemCompositeContextImpl("child1", parent, null);
         child2 = new SystemCompositeContextImpl("child2", child1, null);
@@ -103,7 +53,6 @@
 
     protected void tearDown() throws Exception {
         parent.stop();
-        scopeContext.stop();
         super.tearDown();
     }
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/DuplicateRegistrationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/DuplicateRegistrationTestCase.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/DuplicateRegistrationTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/DuplicateRegistrationTestCase.java Mon May 22 21:09:55 2006
@@ -1,31 +1,38 @@
 package org.apache.tuscany.core.system.context;
 
-import junit.framework.TestCase;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.tuscany.core.context.DuplicateNameException;
-import org.apache.tuscany.core.context.event.ModuleStart;
-import org.apache.tuscany.core.context.event.ModuleStop;
-import org.apache.tuscany.core.mock.factories.MockContextFactory;
+import org.apache.tuscany.core.mock.component.Source;
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
 
 /**
  * @version $Rev$ $Date$
  */
-public class DuplicateRegistrationTestCase extends TestCase {
+public class DuplicateRegistrationTestCase extends MockObjectTestCase {
 
     public void testDuplicateRegistration() throws Exception {
-        SystemCompositeContext systemContext = new SystemCompositeContextImpl(null, null, null);
-        systemContext.start();
-        systemContext.publish(new ModuleStart(this, null));
-        SystemAtomicContext context1 = MockContextFactory.createSystemAtomicContext("foo", MockComponent.class);
-        SystemAtomicContext context2 = MockContextFactory.createSystemAtomicContext("foo", MockComponent.class);
-        systemContext.registerContext(context1);
+        SystemCompositeContext parent = new SystemCompositeContextImpl(null, null, null);
+        parent.start();
+
+        List<Class<?>> interfaces = new ArrayList<Class<?>>();
+        interfaces.add(Source.class);
+        Mock mock = mock(SystemAtomicContext.class);
+        mock.stubs().method("getName").will(returnValue("source"));
+        mock.expects(once()).method("stop");
+        mock.stubs().method("getServiceInterfaces").will(returnValue(interfaces));
+        SystemAtomicContext context1 = (SystemAtomicContext) mock.proxy();
+        SystemAtomicContext context2 = (SystemAtomicContext) mock.proxy();
+        parent.registerContext(context1);
         try {
-            systemContext.registerContext(context2);
+            parent.registerContext(context2);
             fail();
         } catch (DuplicateNameException e) {
             // ok
         }
-        systemContext.publish(new ModuleStop(this, null));
-        systemContext.stop();
+        parent.stop();
     }
 
     protected void setUp() throws Exception {
@@ -36,9 +43,4 @@
         super.tearDown();
     }
 
-    public static class MockComponent {
-        public String hello(String message) {
-            return message;
-        }
-    }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java Mon May 22 21:09:55 2006
@@ -1,12 +1,10 @@
 package org.apache.tuscany.core.system.context;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.core.injection.EventInvoker;
 import org.apache.tuscany.core.injection.MethodEventInvoker;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
-import org.apache.tuscany.core.mock.context.scope.MockScopeContext;
-import org.apache.tuscany.spi.context.ScopeContext;
+import org.apache.tuscany.spi.ObjectFactory;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -17,12 +15,10 @@
 
     public void testContextCreationAndInit() throws Exception {
         ObjectFactory<Foo> factory = new PojoObjectFactory<Foo>(Foo.class.getConstructor((Class[]) null), null);
-        ScopeContext scopeContext = new MockScopeContext();
-        SystemAtomicContext context = new SystemAtomicContextImpl("foo", null, Foo.class,factory,false,initInvoker,null, null,null);
-        context.setScopeContext(scopeContext);
-        Foo instance = (Foo) context.getService(null);
-        assertNotNull(instance);
-        assertTrue(instance.initialized);
+        SystemAtomicContext context = new SystemAtomicContextImpl("foo", null, Foo.class, factory, false, initInvoker, null, null, null);
+        Foo foo = (Foo) context.createInstance().getInstance();
+        assertNotNull(foo);
+        assertTrue(foo.initialized);
     }
 
     protected void setUp() throws Exception {

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeContextResolutionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeContextResolutionTestCase.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeContextResolutionTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeContextResolutionTestCase.java Mon May 22 21:09:55 2006
@@ -1,38 +1,34 @@
 package org.apache.tuscany.core.system.context;
 
-import junit.framework.TestCase;
-import org.apache.tuscany.core.context.WorkContextImpl;
-import org.apache.tuscany.core.context.event.ModuleStart;
-import org.apache.tuscany.core.context.event.ModuleStop;
-import org.apache.tuscany.core.context.scope.ModuleScopeContext;
-import org.apache.tuscany.core.mock.factories.MockContextFactory;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.tuscany.core.mock.component.Source;
 import org.apache.tuscany.core.mock.component.SourceImpl;
 import org.apache.tuscany.spi.context.AtomicContext;
-import org.apache.tuscany.spi.context.WorkContext;
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
-public class SystemCompositeContextResolutionTestCase extends TestCase {
+public class SystemCompositeContextResolutionTestCase extends MockObjectTestCase {
 
-    public void testComponentResolution() throws NoSuchMethodException {
-        WorkContext workContext = new WorkContextImpl();
-        ModuleScopeContext scopeContext = new ModuleScopeContext(workContext);
-        scopeContext.start();
-        SystemCompositeContext composite = new SystemCompositeContextImpl("foo", null, null);
-        composite.start();
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("source", SourceImpl.class);
-        scopeContext.register(context);
-        context.setScopeContext(scopeContext);
-        composite.registerContext(context);
-        scopeContext.publish(new ModuleStart(this, composite));
-        AtomicContext ctx = (AtomicContext) composite.getContext("source");
+    public void testContextResolution() throws NoSuchMethodException {
+        SystemCompositeContext parent = new SystemCompositeContextImpl("foo", null, null);
+        parent.start();
+        List<Class<?>> interfaces = new ArrayList<Class<?>>();
+        interfaces.add(Source.class);
+        Source originalSource = new SourceImpl();
+        Mock mock = mock(SystemAtomicContext.class);
+        mock.stubs().method("getName").will(returnValue("source"));
+        mock.stubs().method("getService").will(returnValue(originalSource));
+        mock.stubs().method("getServiceInterfaces").will(returnValue(interfaces));
+        SystemAtomicContext context = (SystemAtomicContext) mock.proxy();
+        parent.registerContext(context);
+        AtomicContext ctx = (AtomicContext) parent.getContext("source");
         Source source = (Source) ctx.getService();
         assertNotNull(source);
-        scopeContext.publish(new ModuleStop(this, composite));
-        composite.stop();
-        scopeContext.stop();
     }
 
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeLifecycleTestCase.java?rev=408828&r1=408827&r2=408828&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeLifecycleTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemCompositeLifecycleTestCase.java Mon May 22 21:09:55 2006
@@ -1,20 +1,18 @@
 package org.apache.tuscany.core.system.context;
 
-import junit.framework.TestCase;
-import org.apache.tuscany.spi.context.WorkContext;
-import org.apache.tuscany.spi.context.AtomicContext;
-import org.apache.tuscany.core.context.WorkContextImpl;
-import org.apache.tuscany.core.context.event.ModuleStart;
-import org.apache.tuscany.core.context.event.ModuleStop;
-import org.apache.tuscany.core.context.scope.ModuleScopeContext;
-import org.apache.tuscany.core.mock.factories.MockContextFactory;
-import org.apache.tuscany.core.mock.component.SourceImpl;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.tuscany.core.mock.component.Source;
+import org.apache.tuscany.core.mock.component.SourceImpl;
+import org.apache.tuscany.spi.context.AtomicContext;
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
-public class SystemCompositeLifecycleTestCase extends TestCase {
+public class SystemCompositeLifecycleTestCase extends MockObjectTestCase {
 
     public void testLifecycle() throws Exception {
         SystemCompositeContext composite = new SystemCompositeContextImpl("foo", null, null);
@@ -27,32 +25,28 @@
     }
 
     public void testRestart() throws NoSuchMethodException {
-        WorkContext workContext = new WorkContextImpl();
-        ModuleScopeContext scopeContext = new ModuleScopeContext(workContext);
-        scopeContext.start();
         SystemCompositeContext composite = new SystemCompositeContextImpl("foo", null, null);
-        composite.start();
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("source", SourceImpl.class);
-        scopeContext.register(context);
-        context.setScopeContext(scopeContext);
+        List<Class<?>> interfaces = new ArrayList<Class<?>>();
+        interfaces.add(Source.class);
+        Source originalSource = new SourceImpl();
+        Mock mock = mock(SystemAtomicContext.class);
+        mock.expects(atLeastOnce()).method("start");
+        mock.expects(atLeastOnce()).method("stop");
+        mock.stubs().method("getName").will(returnValue("source"));
+        mock.stubs().method("getService").will(returnValue(originalSource));
+        mock.stubs().method("getServiceInterfaces").will(returnValue(interfaces));
+        SystemAtomicContext context = (SystemAtomicContext) mock.proxy();
         composite.registerContext(context);
-        scopeContext.publish(new ModuleStart(this, composite));
+
         AtomicContext ctx = (AtomicContext) composite.getContext("source");
         Source source = (Source) ctx.getService();
         assertNotNull(source);
-        scopeContext.publish(new ModuleStop(this, composite));
         composite.stop();
-        scopeContext.stop();
-
-        scopeContext.start();
         composite.start();
-        scopeContext.publish(new ModuleStart(this, composite));
         ctx = (AtomicContext) composite.getContext("source");
         Source source2 = (Source) ctx.getService();
-        assertNotSame(source, source2);
-        scopeContext.publish(new ModuleStop(this, composite));
+        assertNotNull(source2);
         composite.stop();
-        scopeContext.stop();
 
     }
 



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