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 }