summaryrefslogtreecommitdiffstats
path: root/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite')
-rw-r--r--sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java79
-rw-r--r--sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java120
-rw-r--r--sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java42
-rw-r--r--sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java55
-rw-r--r--sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ServiceImplTestCase.java56
5 files changed, 352 insertions, 0 deletions
diff --git a/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
new file mode 100644
index 0000000000..a5574c7f78
--- /dev/null
+++ b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import java.net.URI;
+
+import org.apache.tuscany.spi.component.Component;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.event.Event;
+import org.apache.tuscany.spi.event.RuntimeEventListener;
+import org.apache.tuscany.spi.model.Scope;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.replay;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CompositeComponentImplTestCase extends TestCase {
+
+ public void testGetScope() {
+ Component composite = new CompositeComponentImpl(URI.create("parent"));
+ Assert.assertEquals(Scope.SYSTEM, composite.getScope());
+ }
+
+ public void testRegisterService() throws Exception {
+ Component composite = new CompositeComponentImpl(URI.create("parent"));
+ Service service = new ServiceImpl(URI.create("foo#service"), null);
+ composite.register(service);
+ assertNotNull(composite.getService("service"));
+ }
+
+ public void testRegisterReference() throws Exception {
+ Component composite = new CompositeComponentImpl(URI.create("parent"));
+ Reference reference = new ReferenceImpl(URI.create("foo#reference"), null);
+ composite.register(reference);
+ assertNotNull(composite.getReference("reference"));
+ }
+
+ public void testOnEvent() {
+ CompositeComponentImpl composite = new CompositeComponentImpl(URI.create("parent"));
+ Event event = new Event() {
+ public Object getSource() {
+ return null;
+ }
+ };
+ RuntimeEventListener listener = createMock(RuntimeEventListener.class);
+ listener.onEvent(eq(event));
+ expectLastCall();
+ replay(listener);
+ composite.addListener(listener);
+ composite.start();
+ composite.onEvent(event);
+ EasyMock.verify(listener);
+ }
+
+}
diff --git a/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
new file mode 100644
index 0000000000..c3394c1043
--- /dev/null
+++ b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import java.net.URI;
+
+import org.apache.tuscany.spi.component.DuplicateNameException;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.Component;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * Verfies children with the same name cannot be registered in the same composite
+ *
+ * @version $Rev$ $Date$
+ */
+public class DuplicateRegistrationTestCase extends TestCase {
+
+ public void testDuplicateServiceRegistration() throws Exception {
+ Component parent = new CompositeComponentImpl(URI.create("parent"));
+ parent.start();
+
+ Service service1 = EasyMock.createMock(Service.class);
+ EasyMock.expect(service1.getUri()).andReturn(URI.create("#service")).atLeastOnce();
+ service1.stop();
+ EasyMock.replay(service1);
+
+ Service service2 = EasyMock.createMock(Service.class);
+ EasyMock.expect(service2.getUri()).andReturn(URI.create("#service")).atLeastOnce();
+ service2.stop();
+ EasyMock.replay(service2);
+
+ parent.register(service2);
+ try {
+ parent.register(service1);
+ fail();
+ } catch (DuplicateNameException e) {
+ // ok
+ }
+ parent.stop();
+ }
+
+ public void testDuplicateReferenceRegistration() throws Exception {
+ Component parent = new CompositeComponentImpl(URI.create("parent"));
+ parent.start();
+
+ Reference reference1 = EasyMock.createMock(Reference.class);
+ EasyMock.expect(reference1.getUri()).andReturn(URI.create("#reference")).atLeastOnce();
+ reference1.stop();
+ EasyMock.replay(reference1);
+
+ Reference reference2 = EasyMock.createMock(Reference.class);
+ EasyMock.expect(reference2.getUri()).andReturn(URI.create("#reference")).atLeastOnce();
+ reference2.stop();
+ EasyMock.replay(reference2);
+
+ parent.register(reference2);
+ try {
+ parent.register(reference1);
+ fail();
+ } catch (DuplicateNameException e) {
+ // ok
+ }
+ parent.stop();
+
+ }
+
+ public void testDuplicateServiceReferenceRegistration() throws Exception {
+ Component parent = new CompositeComponentImpl(URI.create("parent"));
+ parent.start();
+
+ Service service1 = EasyMock.createMock(Service.class);
+ EasyMock.expect(service1.getUri()).andReturn(URI.create("#child")).atLeastOnce();
+ service1.stop();
+ EasyMock.replay(service1);
+
+ Reference service2 = EasyMock.createMock(Reference.class);
+ EasyMock.expect(service2.getUri()).andReturn(URI.create("#child")).atLeastOnce();
+ service2.stop();
+ EasyMock.replay(service2);
+
+ parent.register(service2);
+ try {
+ parent.register(service1);
+ fail();
+ } catch (DuplicateNameException e) {
+ // ok
+ }
+ parent.stop();
+
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+}
diff --git a/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java
new file mode 100644
index 0000000000..12299e762b
--- /dev/null
+++ b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import org.osoa.sca.RequestContext;
+
+import org.apache.tuscany.spi.component.WorkContext;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ManagedRequestContextTestCase extends TestCase {
+
+ public void testGetServiceName() {
+ WorkContext workContext = EasyMock.createMock(WorkContext.class);
+ EasyMock.expect(workContext.getCurrentServiceName()).andReturn("foo");
+ EasyMock.replay(workContext);
+ RequestContext context = new ManagedRequestContext(workContext);
+ assertEquals("foo", context.getServiceName());
+ EasyMock.verify(workContext);
+ }
+
+}
diff --git a/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java
new file mode 100644
index 0000000000..34d37469a7
--- /dev/null
+++ b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import java.net.URI;
+
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ReferenceImplTestCase extends TestCase {
+
+ public void testStart() {
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ binding.start();
+ EasyMock.replay(binding);
+ Reference reference = new ReferenceImpl(URI.create("ref"), null);
+ reference.addReferenceBinding(binding);
+ reference.start();
+ EasyMock.verify(binding);
+
+ }
+
+ public void testStop() {
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ binding.stop();
+ EasyMock.replay(binding);
+ Reference reference = new ReferenceImpl(URI.create("ref"), null);
+ reference.addReferenceBinding(binding);
+ reference.stop();
+ EasyMock.verify(binding);
+
+ }
+}
diff --git a/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ServiceImplTestCase.java b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ServiceImplTestCase.java
new file mode 100644
index 0000000000..bb8ed020e0
--- /dev/null
+++ b/sandbox/rfeng/minicore/src/test/java/org/apache/tuscany/core/implementation/composite/ServiceImplTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import java.net.URI;
+
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.ServiceBinding;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ServiceImplTestCase extends TestCase {
+
+ public void testStart() {
+ ServiceBinding binding = EasyMock.createMock(ServiceBinding.class);
+ binding.start();
+ EasyMock.replay(binding);
+ Service service = new ServiceImpl(URI.create("foo#bar"), null, null);
+ service.addServiceBinding(binding);
+ service.start();
+ EasyMock.verify(binding);
+
+ }
+
+ public void testStop() {
+ ServiceBinding binding = EasyMock.createMock(ServiceBinding.class);
+ binding.stop();
+ EasyMock.replay(binding);
+ Service service = new ServiceImpl(URI.create("foo#bar"), null, null);
+ service.addServiceBinding(binding);
+ service.stop();
+ EasyMock.verify(binding);
+
+ }
+
+}