You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/03/13 02:28:08 UTC

svn commit: r517485 - /incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/

Author: jboynes
Date: Mon Mar 12 18:28:08 2007
New Revision: 517485

URL: http://svn.apache.org/viewvc?view=rev&rev=517485
Log:
clean up scope unit tests

Modified:
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java?view=diff&rev=517485&r1=517484&r2=517485
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java Mon Mar 12 18:28:08 2007
@@ -18,24 +18,15 @@
  */
 package org.apache.tuscany.core.component.scope;
 
-import java.net.URI;
-import java.net.URISyntaxException;
-
 import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.InstanceWrapper;
+import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.services.store.StoreMonitor;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.WorkContextImpl;
-import org.apache.tuscany.core.component.event.ConversationEnd;
-import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
-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.component.ConversationalScopeInitDestroyComponent;
 import org.apache.tuscany.core.services.store.memory.MemoryStore;
 import org.easymock.EasyMock;
 
@@ -43,94 +34,48 @@
  * @version $$Rev: 471111 $$ $$Date: 2006-11-03 23:06:48 -0500 (Fri, 03 Nov 2006) $$
  */
 public class BasicConversationalScopeTestCase extends TestCase {
-
-    private EventInvoker<Object> initInvoker;
-    private EventInvoker<Object> destroyInvoker;
-    private PojoObjectFactory<?> factory;
+    private AtomicComponent component;
+    private InstanceWrapper wrapper;
+    private ScopeContainer scopeContainer;
+    private WorkContext workContext;
 
     public void testLifecycleManagement() throws Exception {
-        StoreMonitor monitor = EasyMock.createMock(StoreMonitor.class);
-        monitor.start(EasyMock.isA(String.class));
-        monitor.stop(EasyMock.isA(String.class));
-        MemoryStore store = new MemoryStore(monitor);
-        WorkContext workContext = new WorkContextImpl();
-        ConversationalScopeContainer scopeContext = new ConversationalScopeContainer(store, workContext, null);
-        scopeContext.start();
-        AtomicComponent atomicContext = createContext(scopeContext);
         // start the request
         String conversation = "conv";
         workContext.setIdentifier(Scope.CONVERSATION, conversation);
-        ConversationalScopeInitDestroyComponent o1 =
-            (ConversationalScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
-        //assertTrue(o1.isInitialized());
-        assertFalse(o1.isDestroyed());
-        ConversationalScopeInitDestroyComponent o2 =
-            (ConversationalScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
-        assertSame(o1, o2);
-        scopeContext.onEvent(new ConversationEnd(this, conversation));
-        //assertTrue(o1.isDestroyed());
-        scopeContext.stop();
-    }
-
-    public void testCompositeIsolation() throws Exception {
-        StoreMonitor monitor = EasyMock.createMock(StoreMonitor.class);
-        monitor.start(EasyMock.isA(String.class));
-        monitor.stop(EasyMock.isA(String.class));
-        MemoryStore store = new MemoryStore(monitor);
-        WorkContext workContext = new WorkContextImpl();
-        ConversationalScopeContainer scopeContext = new ConversationalScopeContainer(store, workContext, null);
-        scopeContext.start();
 
-        AtomicComponent atomicContext = createContext(scopeContext);
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        EasyMock.verify(component, wrapper);
+    }
 
+    public void testCoversationIsolation() throws Exception {
         String conversation1 = "conv";
-        workContext.setIdentifier(Scope.CONVERSATION, conversation1);
-        ConversationalScopeInitDestroyComponent o1 =
-            (ConversationalScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
-        //assertTrue(o1.isInitialized());
-        assertFalse(o1.isDestroyed());
-
         String conversation2 = "conv2";
+
+        InstanceWrapper wrapper2 = EasyMock.createNiceMock(InstanceWrapper.class);
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper).andReturn(wrapper2);
+        EasyMock.replay(component, wrapper);
+        workContext.setIdentifier(Scope.CONVERSATION, conversation1);
+        assertSame(wrapper, scopeContainer.getWrapper(component));
         workContext.setIdentifier(Scope.CONVERSATION, conversation2);
-        ConversationalScopeInitDestroyComponent o2 =
-            (ConversationalScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
-        assertNotSame(o1, o2);
-
-        scopeContext.onEvent(new ConversationEnd(this, conversation1));
-        //assertTrue(o1.isDestroyed());
-        assertFalse(o2.isDestroyed());
-        scopeContext.onEvent(new ConversationEnd(this, conversation2));
-        //assertTrue(o2.isDestroyed());
-        scopeContext.stop();
+        assertSame(wrapper2, scopeContainer.getWrapper(component));
+        EasyMock.verify(component, wrapper);
     }
 
     protected void setUp() throws Exception {
         super.setUp();
-        factory = new PojoObjectFactory<ConversationalScopeInitDestroyComponent>(
-            ConversationalScopeInitDestroyComponent.class.getConstructor((Class[]) null));
-        initInvoker = new MethodEventInvoker<Object>(
-            ConversationalScopeInitDestroyComponent.class.getMethod("init", (Class[]) null));
-        destroyInvoker = new MethodEventInvoker<Object>(
-            ConversationalScopeInitDestroyComponent.class.getMethod("destroy", (Class[]) null));
-    }
+        component = EasyMock.createNiceMock(AtomicComponent.class);
+        wrapper = EasyMock.createNiceMock(InstanceWrapper.class);
 
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    private AtomicComponent createContext(ScopeContainer scopeContainer) {
-        PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setInstanceFactory(factory);
-        configuration.setInitInvoker(initInvoker);
-        configuration.setDestroyInvoker(destroyInvoker);
-        try {
-            configuration.setName(new URI("foo"));
-        } catch (URISyntaxException e) {
-            // will not happen
-        }
-        SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
-        component.setScopeContainer(scopeContainer);
-        component.start();
-        return component;
+        StoreMonitor monitor = EasyMock.createMock(StoreMonitor.class);
+        monitor.start(EasyMock.isA(String.class));
+        monitor.stop(EasyMock.isA(String.class));
+        MemoryStore store = new MemoryStore(monitor);
+        workContext = new WorkContextImpl();
+        scopeContainer = new ConversationalScopeContainer(store, workContext, null);
+        scopeContainer.start();
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java?view=diff&rev=517485&r1=517484&r2=517485
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java Mon Mar 12 18:28:08 2007
@@ -19,134 +19,99 @@
 package org.apache.tuscany.core.component.scope;
 
 import java.net.URI;
-import java.net.URISyntaxException;
 
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+import org.apache.tuscany.core.component.WorkContextImpl;
 import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
 import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.model.Scope;
 
-import junit.framework.TestCase;
-import org.apache.tuscany.core.component.WorkContextImpl;
-import org.apache.tuscany.core.component.event.HttpSessionEnd;
-import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
-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.component.SessionScopeInitDestroyComponent;
-
 /**
  * @version $$Rev$$ $$Date$$
  */
 public class BasicHttpSessionScopeTestCase extends TestCase {
-    private EventInvoker<Object> initInvoker;
-    private EventInvoker<Object> destroyInvoker;
-    private PojoObjectFactory<?> factory;
+    private AtomicComponent component;
+    private InstanceWrapper wrapper;
+    private ScopeContainer scopeContainer;
+    private WorkContext workContext;
 
     public void testLifecycleManagement() throws Exception {
-        WorkContext workContext = new WorkContextImpl();
-        HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
         // start the request
         Object session = new Object();
         workContext.setIdentifier(Scope.SESSION, session);
-        SessionScopeInitDestroyComponent o1 =
-            (SessionScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertTrue(o1.isInitialized());
-        assertFalse(o1.isDestroyed());
-        SessionScopeInitDestroyComponent o2 =
-            (SessionScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertSame(o1, o2);
-        scopeContext.onEvent(new HttpSessionEnd(this, session));
-        assertTrue(o1.isDestroyed());
-        scopeContext.stop();
+
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        EasyMock.verify(component, wrapper);
     }
 
     public void testGetAssociatedInstance() throws Exception {
-        WorkContext workContext = new WorkContextImpl();
-        HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
         // start the request
         Object session = new Object();
         workContext.setIdentifier(Scope.SESSION, session);
-        scopeContext.getInstance(component);
-        scopeContext.getAssociatedInstance(component);
+
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        assertSame(wrapper, scopeContainer.getAssociatedWrapper(component));
+        EasyMock.verify(component, wrapper);
     }
 
     public void testGetAssociatedInstanceNonExistent() throws Exception {
-        WorkContext workContext = new WorkContextImpl();
-        HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
+        URI id = URI.create("oops");
+        EasyMock.expect(component.getUri()).andReturn(id);
+        EasyMock.replay(component);
+
         // start the request
         Object session = new Object();
         workContext.setIdentifier(Scope.SESSION, session);
         try {
-            scopeContext.getAssociatedInstance(component);
+            scopeContainer.getAssociatedWrapper(component);
             fail();
         } catch (TargetNotFoundException e) {
-            // expected
+            assertEquals(id.toString(), e.getMessage());
+            EasyMock.verify(component);
         }
     }
 
     public void testSessionIsolation() throws Exception {
-        WorkContext workContext = new WorkContextImpl();
-        HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
-        scopeContext.start();
-
-        AtomicComponent component = createComponent(scopeContext);
-
+        // start the request
         Object session1 = new Object();
-        workContext.setIdentifier(Scope.SESSION, session1);
-        SessionScopeInitDestroyComponent o1 =
-            (SessionScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertTrue(o1.isInitialized());
-
         Object session2 = new Object();
+
+        InstanceWrapper wrapper2 = EasyMock.createNiceMock(InstanceWrapper.class);
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper).andReturn(wrapper2);
+        EasyMock.replay(component, wrapper);
+        workContext.setIdentifier(Scope.SESSION, session1);
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        assertSame(wrapper, scopeContainer.getAssociatedWrapper(component));
         workContext.setIdentifier(Scope.SESSION, session2);
-        SessionScopeInitDestroyComponent o2 =
-            (SessionScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertNotSame(o1, o2);
-
-        scopeContext.onEvent(new HttpSessionEnd(this, session1));
-        assertTrue(o1.isDestroyed());
-        assertFalse(o2.isDestroyed());
-        scopeContext.onEvent(new HttpSessionEnd(this, session2));
-        assertTrue(o2.isDestroyed());
-        scopeContext.stop();
+        assertSame(wrapper2, scopeContainer.getWrapper(component));
+        assertSame(wrapper2, scopeContainer.getAssociatedWrapper(component));
+        workContext.setIdentifier(Scope.SESSION, session1);
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        EasyMock.verify(component, wrapper);
     }
 
     protected void setUp() throws Exception {
         super.setUp();
-        factory = new PojoObjectFactory<SessionScopeInitDestroyComponent>(
-            SessionScopeInitDestroyComponent.class.getConstructor((Class[]) null));
-        initInvoker = new MethodEventInvoker<Object>(
-            SessionScopeInitDestroyComponent.class.getMethod("init", (Class[]) null));
-        destroyInvoker = new MethodEventInvoker<Object>(
-            SessionScopeInitDestroyComponent.class.getMethod("destroy", (Class[]) null));
-    }
-
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
+        component = EasyMock.createNiceMock(AtomicComponent.class);
+        wrapper = EasyMock.createNiceMock(InstanceWrapper.class);
 
-    private AtomicComponent createComponent(ScopeContainer scopeContainer) {
-        PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setInstanceFactory(factory);
-        configuration.setInitInvoker(initInvoker);
-        configuration.setDestroyInvoker(destroyInvoker);
-        try {
-            configuration.setName(new URI("foo"));
-        } catch (URISyntaxException e) {
-            // will not happen
-        }
-        SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
-        component.setScopeContainer(scopeContainer);
-        component.start();
-        return component;
+        workContext = new WorkContextImpl();
+        scopeContainer = new HttpSessionScopeContainer(workContext, null);
+        scopeContainer.start();
+
+        component.addListener(scopeContainer);
+        EasyMock.replay(component);
+        scopeContainer.register(component);
+        EasyMock.reset(component);
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java?view=diff&rev=517485&r1=517484&r2=517485
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java Mon Mar 12 18:28:08 2007
@@ -24,6 +24,8 @@
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
+import org.apache.tuscany.spi.component.InstanceWrapper;
+import org.apache.tuscany.spi.component.WorkContext;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.event.RequestEnd;
@@ -38,13 +40,16 @@
  * @version $$Rev$$ $$Date$$
  */
 public class BasicRequestScopeTestCase extends TestCase {
+    private AtomicComponent component;
+    private InstanceWrapper wrapper;
+    private ScopeContainer scopeContainer;
+    private WorkContext workContext;
+
     private EventInvoker<Object> initInvoker;
     private EventInvoker<Object> destroyInvoker;
     private PojoObjectFactory<?> factory;
 
     public void testLifecycleManagement() throws Exception {
-        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
-        scopeContainer.start();
         AtomicComponent component = createComponent(scopeContainer);
         // start the request
         RequestScopeInitDestroyComponent o1 =
@@ -60,8 +65,6 @@
     }
 
     public void testGetAssociatedInstance() throws Exception {
-        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
-        scopeContainer.start();
         AtomicComponent component = createComponent(scopeContainer);
         // start the request
         scopeContainer.getInstance(component);
@@ -70,8 +73,6 @@
     }
 
     public void testGetAssociatedInstanceNonExistent() throws Exception {
-        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
-        scopeContainer.start();
         AtomicComponent component = createComponent(scopeContainer);
         // start the request
         try {
@@ -84,9 +85,6 @@
     }
 
     public void testRequestIsolation() throws Exception {
-        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
-        scopeContainer.start();
-
         AtomicComponent component = createComponent(scopeContainer);
 
         RequestScopeInitDestroyComponent o1 =
@@ -105,6 +103,9 @@
 
     protected void setUp() throws Exception {
         super.setUp();
+        scopeContainer = new RequestScopeContainer(null, null);
+        scopeContainer.start();
+
         factory = new PojoObjectFactory<RequestScopeInitDestroyComponent>(
             RequestScopeInitDestroyComponent.class.getConstructor((Class[]) null));
         initInvoker = new MethodEventInvoker<Object>(

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java?view=diff&rev=517485&r1=517484&r2=517485
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java Mon Mar 12 18:28:08 2007
@@ -19,21 +19,14 @@
 package org.apache.tuscany.core.component.scope;
 
 import java.net.URI;
-import java.net.URISyntaxException;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
-import org.apache.tuscany.spi.component.WorkContext;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import org.apache.tuscany.core.component.WorkContextImpl;
-import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
-import org.apache.tuscany.core.injection.PojoObjectFactory;
-import org.apache.tuscany.core.mock.component.StatelessComponent;
-import org.apache.tuscany.core.mock.component.StatelessComponentImpl;
 
 /**
  * Unit tests for the composite scope container
@@ -41,87 +34,46 @@
  * @version $Rev$ $Date$
  */
 public class BasicStatelessScopeTestCase extends TestCase {
-    private PojoObjectFactory<StatelessComponentImpl> factory;
+    private AtomicComponent component;
+    private InstanceWrapper wrapper;
+    private ScopeContainer scopeContainer;
 
-    /**
-     * Verfies instance identity is properly maintained
-     */
     public void testInstanceManagement() throws Exception {
-        WorkContext ctx = new WorkContextImpl();
-        StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
-        scope.start();
-        AtomicComponent component1 = createComponent(scope);
-        scope.register(component1);
-        AtomicComponent component2 = createComponent(scope);
-        scope.register(component2);
-        StatelessComponentImpl comp1 = (StatelessComponentImpl) scope.getInstance(component1);
-        Assert.assertNotNull(comp1);
-        StatelessComponentImpl comp2 = (StatelessComponentImpl) scope.getInstance(component2);
-        Assert.assertNotNull(comp2);
-        Assert.assertNotSame(comp1, comp2);
-        scope.stop();
+        InstanceWrapper wrapper2 = EasyMock.createNiceMock(InstanceWrapper.class);
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper).andReturn(wrapper2);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContainer.getWrapper(component));
+        assertSame(wrapper2, scopeContainer.getWrapper(component));
+        EasyMock.verify(component, wrapper);
     }
 
     public void testGetAssociatedInstance() throws Exception {
-        WorkContext ctx = new WorkContextImpl();
-        StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
-        scope.start();
-        AtomicComponent component1 = createComponent(scope);
-        scope.register(component1);
+        URI uri = URI.create("oops");
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.expect(component.getUri()).andReturn(uri);
+        EasyMock.replay(component, wrapper);
+
+        assertSame(wrapper, scopeContainer.getWrapper(component));
         try {
             // always throws an exception, which is the semantic for stateless implementations
-            scope.getAssociatedInstance(component1);
+            scopeContainer.getAssociatedWrapper(component);
             fail();
         } catch (TargetNotFoundException e) {
-            // expected
+            assertEquals(uri.toString(), e.getMessage());
+            EasyMock.verify(component, wrapper);
         }
-        scope.stop();
-    }
-
-    public void testRegisterContextAfterRequest() throws Exception {
-        WorkContext ctx = new WorkContextImpl();
-        StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
-
-        scope.start();
-        AtomicComponent component1 = createComponent(scope);
-        scope.register(component1);
-        StatelessComponent comp1 = (StatelessComponentImpl) scope.getInstance(component1);
-        Assert.assertNotNull(comp1);
-        AtomicComponent component2 = createComponent(scope);
-        scope.register(component2);
-        StatelessComponentImpl comp2 = (StatelessComponentImpl) scope.getInstance(component2);
-        Assert.assertNotNull(comp2);
-        scope.stop();
-    }
-
-
-    /**
-     * Tests setting no components in the scope
-     */
-    public void testSetNullComponents() throws Exception {
-        WorkContext ctx = new WorkContextImpl();
-        StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
-        scope.start();
-        scope.stop();
     }
 
     protected void setUp() throws Exception {
         super.setUp();
-        factory =
-            new PojoObjectFactory<StatelessComponentImpl>(StatelessComponentImpl.class.getConstructor((Class[]) null));
 
-    }
+        component = EasyMock.createNiceMock(AtomicComponent.class);
+        wrapper = EasyMock.createNiceMock(InstanceWrapper.class);
 
-    private AtomicComponent createComponent(ScopeContainer scopeContainer) {
-        PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setInstanceFactory(factory);
-        try {
-            configuration.setName(new URI("foo"));
-        } catch (URISyntaxException e) {
-            // will not happen
-        }
-        AtomicComponent component = new SystemAtomicComponentImpl(configuration);
-        component.setScopeContainer(scopeContainer);
-        return component;
+        scopeContainer = new StatelessScopeContainer(null, null);
+        scopeContainer.start();
+        EasyMock.replay(component);
+        scopeContainer.register(component);
+        EasyMock.reset(component);
     }
 }



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