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/06/08 08:57:40 UTC
svn commit: r412677 - in
/incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi:
QualifiedNameTestCase.java extension/CompositeComponentExtensionTestCase.java
Author: jmarino
Date: Wed Jun 7 23:57:40 2006
New Revision: 412677
URL: http://svn.apache.org/viewvc?rev=412677&view=rev
Log:
more test coverage for spi
Added:
incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java (with props)
Modified:
incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java
Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java?rev=412677&r1=412676&r2=412677&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/QualifiedNameTestCase.java Wed Jun 7 23:57:40 2006
@@ -29,11 +29,21 @@
public void testInvalidName() throws Exception {
try {
- QualifiedName name = new QualifiedName("/Foo/Bar");
+ new QualifiedName("/Foo/Bar");
fail("Invalid name exception not thrown");
} catch (InvalidNameException e) {
}
+ }
+
+ public void testQualifiedName() throws Exception {
+ QualifiedName name = new QualifiedName("Foo/Bar");
+ assertEquals("Foo/Bar", name.getQualifiedName());
+ }
+
+ public void testToString() throws Exception {
+ QualifiedName name = new QualifiedName("Foo/Bar");
+ assertEquals("Foo/Bar", name.toString());
}
}
Added: incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java?rev=412677&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java Wed Jun 7 23:57:40 2006
@@ -0,0 +1,224 @@
+package org.apache.tuscany.spi.extension;
+
+import java.lang.reflect.Method;
+import java.util.List;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.ComponentNotFoundException;
+import org.apache.tuscany.spi.component.DuplicateNameException;
+import org.apache.tuscany.spi.component.IllegalTargetException;
+import org.apache.tuscany.spi.component.InvalidComponentTypeException;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.TargetNotFoundException;
+import org.apache.tuscany.spi.event.Event;
+import org.apache.tuscany.spi.event.RuntimeEventListener;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CompositeComponentExtensionTestCase extends MockObjectTestCase {
+
+ public void testGetScope() {
+ assertEquals(Scope.COMPOSITE, new Composite().getScope());
+ }
+
+ public void testInvalidType() {
+ Composite composite = new Composite();
+ try {
+ composite.register(getAtomic("foo"));
+ fail();
+ } catch (InvalidComponentTypeException e) {
+ // expected
+ }
+ }
+
+ public void testDuplicateName() {
+ Composite composite = new Composite();
+ composite.register(new ServiceExtension("foo", null, null));
+ try {
+ composite.register(new ServiceExtension("foo", null, null));
+ fail();
+ } catch (DuplicateNameException e) {
+ // expected
+ }
+ }
+
+ public void testGetChildren() {
+ Composite composite = new Composite();
+ composite.register(new ServiceExtension("foo", null, null));
+ assertEquals(1, composite.getChildren().size());
+ }
+
+ public void testGetServices() {
+ Composite composite = new Composite();
+ composite.register(new ServiceExtension("foo", null, null));
+ composite.register(getReference("bar"));
+ assertEquals(1, composite.getServices().size());
+ }
+
+ public void testGetService() {
+ Composite composite = new Composite();
+ composite.register(new ServiceExtension("foo", null, null));
+ composite.start();
+ assertNotNull(composite.getService("foo"));
+ }
+
+ public void testServiceNotFound() {
+ Composite composite = new Composite();
+ composite.register(new ServiceExtension("foo", null, null));
+ composite.start();
+ try {
+ composite.getService("bar");
+ fail();
+ } catch (ComponentNotFoundException e) {
+ // expected
+ }
+ }
+
+ public void testNotService() {
+ Composite composite = new Composite();
+ composite.register(getReference("foo"));
+ composite.start();
+ try {
+ composite.getService("foo");
+ fail();
+ } catch (ComponentNotFoundException e) {
+ // expected
+ }
+ }
+
+ public void testReferencesServices() {
+ Composite composite = new Composite();
+ composite.register(new ServiceExtension("foo", null, null));
+ composite.register(getReference("bar"));
+ assertEquals(1, composite.getReferences().size());
+ }
+
+ public void testServiceInterfaces() {
+ Composite<?> composite = new Composite();
+ Service service1 = getService("foo", Foo.class);
+ composite.register(service1);
+ Service service2 = getService("bar", Bar.class);
+ composite.register(service2);
+
+ List<Class<?>> interfaces = composite.getServiceInterfaces();
+ assertEquals(2, interfaces.size());
+ for (Class o : interfaces) {
+ if (!(Foo.class.isAssignableFrom(o)) && !(Bar.class.isAssignableFrom(o))) {
+ fail();
+ }
+ }
+ }
+
+ public void testGetServiceInstanceByName() {
+ Composite<?> composite = new Composite();
+ Mock mock = mock(Service.class);
+ mock.stubs().method("getName").will(returnValue("foo"));
+ mock.stubs().method("getInterface").will(returnValue(Foo.class));
+ mock.expects(once()).method("getServiceInstance").will(returnValue(new Foo() {
+ }));
+ Service service = (Service) mock.proxy();
+ composite.register(service);
+ assertNotNull(composite.getServiceInstance("foo"));
+ }
+
+ public void testGetServiceInstanceNotFound() {
+ Composite<?> composite = new Composite();
+ Service service = getService("foo", Foo.class);
+ composite.register(service);
+ try {
+ composite.getServiceInstance("bar");
+ fail();
+ } catch (TargetNotFoundException e) {
+ //expected
+ }
+ }
+
+ public void testGetServiceInstanceNotService() {
+ Composite<?> composite = new Composite();
+ Reference reference = getReference("foo");
+ composite.register(reference);
+ try {
+ composite.getServiceInstance("foo");
+ fail();
+ } catch (IllegalTargetException e) {
+ //expected
+ }
+ }
+
+ public void testOnEvent() {
+ Composite<?> composite = new Composite();
+ Event event = new Event() {
+ public Object getSource() {
+ return null;
+ }
+ };
+ Mock mock = mock(RuntimeEventListener.class);
+ mock.expects(once()).method("onEvent").with(eq(event));
+ composite.addListener((RuntimeEventListener)mock.proxy());
+ composite.onEvent(event);
+ }
+
+ public void testPrepare() {
+ Composite<?> composite = new Composite();
+ composite.prepare();
+ }
+
+// TODO method not implemented
+// public void testSingleGetServiceInstance(){
+// Composite<?> composite = new Composite();
+// Mock mock = mock(Service.class);
+// mock.stubs().method("getName").will(returnValue("foo"));
+// mock.stubs().method("getInterface").will(returnValue(Foo.class));
+// mock.expects(once()).method("getServiceInstance").will(returnValue(new Foo(){}));
+// Service service = (Service) mock.proxy();
+// composite.register(service);
+// assertNotNull(composite.getServiceInstance());
+// }
+
+ private class Composite<T> extends CompositeComponentExtension<T> {
+ public Composite() {
+ super(null, null, null);
+ }
+
+ public void setScopeContext(ScopeContainer scopeContainer) {
+
+ }
+
+ public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
+ return null;
+ }
+ }
+
+ private AtomicComponent getAtomic(String name) {
+ Mock mock = mock(AtomicComponent.class);
+ mock.stubs().method("getName").will(returnValue(name));
+ return (AtomicComponent) mock.proxy();
+ }
+
+ private Reference getReference(String name) {
+ Mock mock = mock(Reference.class);
+ mock.stubs().method("getName").will(returnValue(name));
+ return (Reference) mock.proxy();
+ }
+
+ private Service getService(String name, Class<?> interfaze) {
+ Mock mock = mock(Service.class);
+ mock.stubs().method("getName").will(returnValue(name));
+ mock.stubs().method("getInterface").will(returnValue(interfaze));
+ return (Service) mock.proxy();
+ }
+
+ private interface Foo {
+ }
+
+ private interface Bar {
+ }
+
+}
Propchange: incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.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