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/10/07 04:01:51 UTC

svn commit: r453834 - /incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.java

Author: jmarino
Date: Fri Oct  6 19:01:50 2006
New Revision: 453834

URL: http://svn.apache.org/viewvc?view=rev&rev=453834
Log:
add testcase for JNDI-based properties

Added:
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.java   (with props)

Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.java?view=auto&rev=453834
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.java Fri Oct  6 19:01:50 2006
@@ -0,0 +1,55 @@
+package org.apache.tuscany.core.loader;
+
+import java.lang.reflect.Type;
+import java.util.Hashtable;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.spi.InitialContextFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import org.apache.tuscany.spi.model.PropertyValue;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.injection.JNDIObjectFactory;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class JNDIPropertyFactoryTestCase extends TestCase {
+
+    public void testCreate() throws Exception {
+        System.setProperty(Context.INITIAL_CONTEXT_FACTORY, MockInitialContextFactory.class.getName());
+        JNDIPropertyFactory factory = new JNDIPropertyFactory();
+        Element element = EasyMock.createMock(Element.class);
+        EasyMock.expect(element.getTextContent()).andReturn("foo");
+        EasyMock.replay(element);
+        Document doc = EasyMock.createMock(Document.class);
+        EasyMock.expect(doc.getDocumentElement()).andReturn(element);
+        EasyMock.replay(doc);
+        PropertyValue<?> value = new MockPropertyValue<Type>();
+        value.setValue(doc);
+        JNDIObjectFactory<?> jndiFactory = (JNDIObjectFactory<?>) factory.createObjectFactory(null, value);
+        assertEquals("bar", jndiFactory.getInstance());
+
+    }
+
+    private class MockPropertyValue<T> extends PropertyValue<T> {
+
+    }
+
+    public static class MockInitialContextFactory implements InitialContextFactory {
+        public MockInitialContextFactory() {
+        }
+
+        public Context getInitialContext(Hashtable<?, ?> environment) throws NamingException {
+            Context context = EasyMock.createMock(Context.class);
+            EasyMock.expect(context.lookup("foo")).andReturn("bar");
+            EasyMock.replay(context);
+            return context;
+        }
+    }
+
+}

Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/JNDIPropertyFactoryTestCase.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