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 }