Added: 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInstanceFactoryTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInstanceFactoryTestCase.java?view=auto&rev=467621
==============================================================================
--- 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInstanceFactoryTestCase.java
 (added)
+++ 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInstanceFactoryTestCase.java
 Wed Oct 25 05:24:28 2006
@@ -0,0 +1,56 @@
+package org.apache.tuscany.container.script.helper;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.container.script.helper.EasyInstance;
+import org.apache.tuscany.container.script.helper.mock.MockInstanceFactory;
+
+public class EasyInstanceFactoryTestCase extends TestCase {
+
+    public void testCreateInstance() throws InvocationTargetException {
+        MockInstanceFactory factory = new MockInstanceFactory("foo.mock", 
getClass().getClassLoader());
+        Map<String, Object> context = new HashMap<String, Object>();
+        context.put("foo", "bar");
+        EasyInstance instance = factory.createInstance(null, context);
+        assertNotNull(instance);
+    }
+
+    public void testCreateInstanceNoClass() throws InvocationTargetException {
+        MockInstanceFactory factory = new MockInstanceFactory("foo.mock", 
getClass().getClassLoader());
+        Map<String, Object> context = new HashMap<String, Object>();
+        context.put("foo", "bar");
+        EasyInstance instance = factory.createInstance(null, context);
+        assertNotNull(instance);
+    }
+
+    public void testCreateInstanceRuby() throws InvocationTargetException {
+        MockInstanceFactory factory = new MockInstanceFactory("foo.mock", 
getClass().getClassLoader());
+        Map<String, Object> context = new HashMap<String, Object>();
+        context.put("foo", "bar");
+        EasyInstance instance = factory.createInstance(null, context);
+        assertNotNull(instance);
+    }
+
+    public void testGetters() throws InvocationTargetException {
+        MockInstanceFactory factory = new MockInstanceFactory("foo", 
getClass().getClassLoader());
+        assertEquals("foo", factory.getResourceName());
+        assertEquals(getClass().getClassLoader(), factory.getClassLoader());
+    }
+
+    public void testGetResponseClasses() {
+        MockInstanceFactory factory = new MockInstanceFactory("foo", 
getClass().getClassLoader());
+        Map<String, Class> classes = factory.getResponseClasses(Arrays.asList( 
new Class[]{ Runnable.class}));
+        assertEquals(1, classes.size());
+        assertEquals("run", classes.keySet().iterator().next());
+        assertEquals(void.class, classes.get("run"));
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+}

Added: 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInvokerTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInvokerTestCase.java?view=auto&rev=467621
==============================================================================
--- 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInvokerTestCase.java
 (added)
+++ 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/EasyInvokerTestCase.java
 Wed Oct 25 05:24:28 2006
@@ -0,0 +1,64 @@
+package org.apache.tuscany.container.script.helper;
+
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.isA;
+import static org.easymock.EasyMock.replay;
+
+import java.lang.reflect.InvocationTargetException;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.container.script.helper.EasyComponent;
+import org.apache.tuscany.container.script.helper.EasyInstance;
+import org.apache.tuscany.container.script.helper.EasyInvoker;
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.model.Scope;
+import org.easymock.IAnswer;
+
+public class EasyInvokerTestCase extends TestCase {
+
+    private EasyComponent component;
+
+    public void testInvokeTarget() throws InvocationTargetException {
+        EasyInvoker invoker = new EasyInvoker("hello", component);
+        assertEquals("hello petra", invoker.invokeTarget(null));
+    }
+
+    public void testInvokeTargetException() throws InvocationTargetException, 
SecurityException, NoSuchMethodException {
+         EasyInvoker badInvoker = new EasyInvoker("bang", component);
+         try {
+             badInvoker.invokeTarget(null);
+             fail();
+         } catch (InvocationTargetException e) {
+            // expected
+         }
+    }
+
+    @SuppressWarnings("unchecked")
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        ScopeContainer scopeContainer = createMock(ScopeContainer.class);
+        expect(scopeContainer.getScope()).andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                return Scope.MODULE;
+            }
+        });
+        
expect(scopeContainer.getInstance(isA(AtomicComponent.class))).andStubAnswer(new
 IAnswer() {
+            public Object answer() throws Throwable {
+                return new EasyInstance(){
+                    public Object invokeTarget(String operationName, Object[] 
args) throws InvocationTargetException {
+                        if ("bang".equals(operationName)) {
+                            throw new RuntimeException("bang");
+                        }
+                        return "hello petra";
+                    }};
+            }
+        });
+        replay(scopeContainer);
+
+        this.component = new EasyComponent(null, null, null, null, null, 
scopeContainer, null, null, null);
+    }
+}

Added: 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/AsyncTarget.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/AsyncTarget.java?view=auto&rev=467621
==============================================================================
--- 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/AsyncTarget.java
 (added)
+++ 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/AsyncTarget.java
 Wed Oct 25 05:24:28 2006
@@ -0,0 +1,26 @@
+/*
+ * 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.container.script.helper.mock;
+
+/**
+ */
+public interface AsyncTarget {
+
+    void invoke();
+}

Added: 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/MockInstanceFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/MockInstanceFactory.java?view=auto&rev=467621
==============================================================================
--- 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/MockInstanceFactory.java
 (added)
+++ 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/helper/mock/MockInstanceFactory.java
 Wed Oct 25 05:24:28 2006
@@ -0,0 +1,30 @@
+package org.apache.tuscany.container.script.helper.mock;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tuscany.container.script.helper.EasyInstance;
+import org.apache.tuscany.container.script.helper.EasyInstanceFactory;
+
+public class MockInstanceFactory extends EasyInstanceFactory<MockInstance> {
+
+    public MockInstanceFactory(String scriptName, ClassLoader classLoader) {
+        super(scriptName, classLoader);
+    }
+
+    @Override
+    public MockInstance createInstance(List<Class> services, Map<String, 
Object> context) {
+        return new MockInstance();
+    }
+
+}
+
+class MockInstance implements EasyInstance {
+
+    public Object invokeTarget(String operationName, Object[] args) throws 
InvocationTargetException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Added: 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/jsr223/JSR223BSFEngineTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/jsr223/JSR223BSFEngineTestCase.java?view=auto&rev=467621
==============================================================================
--- 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/jsr223/JSR223BSFEngineTestCase.java
 (added)
+++ 
incubator/tuscany/sandbox/ant/container.script/src/test/java/org/apache/tuscany/container/script/jsr223/JSR223BSFEngineTestCase.java
 Wed Oct 25 05:24:28 2006
@@ -0,0 +1,45 @@
+package org.apache.tuscany.container.script.jsr223;
+
+import junit.framework.TestCase;
+
+import org.apache.bsf.BSFEngine;
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+import org.mozilla.javascript.EcmaError;
+
+public class JSR223BSFEngineTestCase extends TestCase {
+    
+    public void testRegisterAllJSR223Engines() throws BSFException {
+        JSR223BSFEngine.registerAllJSR223Engines();
+        BSFEngine engine = new BSFManager().loadScriptingEngine("rhino");
+        assertTrue(engine instanceof JSR223BSFEngine);
+    }
+
+    public void testDeclareBean() throws BSFException {
+        JSR223BSFEngine.registerAllJSR223Engines();
+        BSFManager manager = new BSFManager();
+        manager.declareBean("foo", "foo", String.class);
+        BSFEngine engine = manager.loadScriptingEngine("rhino");
+        assertEquals("foo", engine.eval("testDeclareBean", 0, 0, "foo"));
+        manager.undeclareBean("foo");
+        try {
+           engine.eval("testDeclareBean", 0, 0, "foo");
+           fail();
+        } catch (EcmaError e) {
+            //expected
+        }
+    }
+
+    public void testEval() throws BSFException {
+        JSR223BSFEngine.registerAllJSR223Engines();
+        BSFEngine engine = new BSFManager().loadScriptingEngine("rhino");
+        assertEquals(true, engine.eval("testDeclareBean", 0, 0, "true"));
+    }
+
+    public void testCall() throws BSFException {
+        JSR223BSFEngine.registerAllJSR223Engines();
+        BSFEngine engine = new BSFManager().loadScriptingEngine("rhino");
+        engine.eval("testDeclareBean", 0, 0, "function foo() { return true;}");
+        assertEquals(true, engine.call(null, "foo", new Object[]{}));
+    }
+}

Added: 
incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.componentType
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.componentType?view=auto&rev=467621
==============================================================================
--- 
incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.componentType
 (added)
+++ 
incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.componentType
 Wed Oct 25 05:24:28 2006
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ASCII"?>
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
+
+    <service name="HelloWorldService">
+        <interface.java interface="not.used"/>
+    </service>
+
+</componentType>

Added: 
incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.mock
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.mock?view=auto&rev=467621
==============================================================================
--- 
incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.mock
 (added)
+++ 
incubator/tuscany/sandbox/ant/container.script/src/test/resources/org/apache/tuscany/container/script/helper/foo.mock
 Wed Oct 25 05:24:28 2006
@@ -0,0 +1 @@
+hello
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to