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]
