1 /* 2 * $Id: MuleContainerContextTestCase.java 7976 2007-08-21 14:26:13Z 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 /** 19 * @author <a href="mailto:ross.mason@symphonysoft.com">Ross Mason</a> 20 * @version $Revision: 7976 $ 21 */ 22 public class MuleContainerContextTestCase extends AbstractContainerContextTestCase 23 { 24 25 MuleContainerContext context; 26 27 /* 28 * (non-Javadoc) 29 * 30 * @see org.mule.tck.model.AbstractComponentResolverTestCase#getConfiguredResolver() 31 */ 32 public UMOContainerContext getContainerContext() 33 { 34 return context; 35 } 36 37 /* 38 * (non-Javadoc) 39 * 40 * @see junit.framework.TestCase#setUp() 41 */ 42 protected void doSetUp() throws Exception 43 { 44 context = new MuleContainerContext(); 45 } 46 47 // /* (non-Javadoc) 48 // * @see 49 // org.mule.tck.model.AbstractComponentResolverTestCase#testDescriptorExternalReferences() 50 // */ 51 // public void testDescriptorExternalReferences() throws Exception 52 // { 53 // UMODescriptor d = getTestDescriptor("friutbowl", 54 // FruitBowl.class.getName()); 55 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 56 // 57 // d.addObjectReference(new ObjectReference("foo", "bar", true)); 58 // try 59 // { 60 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 61 // fail("Should barf if component isn't a class name"); 62 // } 63 // catch (ContainerException e) 64 // { 65 // // expected 66 // } 67 // d.getObjectReferences().clear(); 68 // //Should work as the ref is not required 69 // d.addObjectReference(new ObjectReference("foo", "bar", false)); 70 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 71 // 72 // d.getObjectReferences().clear(); 73 // FruitBowl fb = new FruitBowl(); 74 // d.addObjectReference(new ObjectReference("banana", 75 // Banana.class.getName(), true)); 76 // resolver.resolveComponents(fb, d.getObjectReferences()); 77 // assertNotNull(fb.getBanana()); 78 // assertNull(fb.getApple()); 79 // } 80 // 81 // public void testDescriptorExternalReferenceAsFactory() throws Exception 82 // { 83 // UMODescriptor d = getTestDescriptor("friutbowl", 84 // FruitBowl.class.getName()); 85 // resolver.resolveComponents(new Object(), d.getObjectReferences()); 86 // 87 // FruitBowl fb = new FruitBowl(); 88 // 89 // d.addObjectReference(new ObjectReference("banana", 90 // BananaFactory.class.getName(), true)); 91 // resolver.resolveComponents(fb, d.getObjectReferences()); 92 // assertNotNull(fb.getBanana()); 93 // assertNull(fb.getApple()); 94 // } 95 96 /* 97 * (non-Javadoc) 98 * 99 * @see org.mule.tck.model.AbstractComponentResolverTestCase#testExternalUMOReference() 100 */ 101 // public void testExternalUMOReference() throws Exception 102 // { 103 // //The Mule component resolver doesn't support autowiring of components 104 // context.resolveComponents(null, null); 105 // } 106 public void testExternalUMOReference() throws Exception 107 { 108 UMOContainerContext ctx = getContainerContext(); 109 assertNotNull(ctx); 110 111 UMODescriptor descriptor = getTestDescriptor("fruit Bowl", "org.mule.tck.testmodels.fruit.FruitBowl"); 112 FruitBowl fruitBowl = (FruitBowl)ctx.getComponent(descriptor.getImplementation()); 113 114 assertNotNull(fruitBowl); 115 } 116 117 }