1 /* 2 * $Id: MuleContainerContextTestCase.java 7963 2007-08-21 08:53:15Z dirk.olmes $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.impl.container; 12 13 import org.mule.tck.model.AbstractContainerContextTestCase; 14 import org.mule.tck.testmodels.fruit.FruitBowl; 15 import org.mule.umo.UMODescriptor; 16 import org.mule.umo.manager.UMOContainerContext; 17 18 public class MuleContainerContextTestCase extends AbstractContainerContextTestCase 19 { 20 21 MuleContainerContext context; 22 23 /* 24 * (non-Javadoc) 25 * 26 * @see org.mule.tck.model.AbstractComponentResolverTestCase#getConfiguredResolver() 27 */ 28 public UMOContainerContext getContainerContext() 29 { 30 return context; 31 } 32 33 /* 34 * (non-Javadoc) 35 * 36 * @see junit.framework.TestCase#setUp() 37 */ 38 protected void doSetUp() throws Exception 39 { 40 context = new MuleContainerContext(); 41 } 42 43 // /* (non-Javadoc) 44 // * @see 45 // org.mule.tck.model.AbstractComponentResolverTestCase#testDescriptorExternalReferences() 46 // */ 47 // public void testDescriptorExternalReferences() throws Exception 48 // { 49 // UMODescriptor d = getTestDescriptor("friutbowl", 50 // FruitBowl.class.getName()); 51 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 52 // 53 // d.addObjectReference(new ObjectReference("foo", "bar", true)); 54 // try 55 // { 56 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 57 // fail("Should barf if component isn't a class name"); 58 // } 59 // catch (ContainerException e) 60 // { 61 // // expected 62 // } 63 // d.getObjectReferences().clear(); 64 // //Should work as the ref is not required 65 // d.addObjectReference(new ObjectReference("foo", "bar", false)); 66 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 67 // 68 // d.getObjectReferences().clear(); 69 // FruitBowl fb = new FruitBowl(); 70 // d.addObjectReference(new ObjectReference("banana", 71 // Banana.class.getName(), true)); 72 // resolver.resolveComponents(fb, d.getObjectReferences()); 73 // assertNotNull(fb.getBanana()); 74 // assertNull(fb.getApple()); 75 // } 76 // 77 // public void testDescriptorExternalReferenceAsFactory() throws Exception 78 // { 79 // UMODescriptor d = getTestDescriptor("friutbowl", 80 // FruitBowl.class.getName()); 81 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 82 // 83 // FruitBowl fb = new FruitBowl(); 84 // 85 // d.addObjectReference(new ObjectReference("banana", 86 // BananaFactory.class.getName(), true)); 87 // resolver.resolveComponents(fb, d.getObjectReferences()); 88 // assertNotNull(fb.getBanana()); 89 // assertNull(fb.getApple()); 90 // } 91 92 /* 93 * (non-Javadoc) 94 * 95 * @see org.mule.tck.model.AbstractComponentResolverTestCase#testExternalUMOReference() 96 */ 97 // public void testExternalUMOReference() throws Exception 98 // { 99 // //The Mule component resolver doesn't support autowiring of components 100 // context.resolveComponents(null, null); 101 // } 102 public void testExternalUMOReference() throws Exception 103 { 104 UMOContainerContext ctx = getContainerContext(); 105 assertNotNull(ctx); 106 107 UMODescriptor descriptor = getTestDescriptor("fruit Bowl", "org.mule.tck.testmodels.fruit.FruitBowl"); 108 FruitBowl fruitBowl = (FruitBowl)ctx.getComponent(descriptor.getImplementation()); 109 110 assertNotNull(fruitBowl); 111 } 112 113 }