View Javadoc

1   /*
2    * $Id: DefaultMuleContextBuilderTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.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;
12  
13  import org.mule.api.MuleContext;
14  import org.mule.api.config.ThreadingProfile;
15  import org.mule.config.DefaultMuleConfiguration;
16  import org.mule.context.DefaultMuleContextBuilder;
17  import org.mule.context.notification.ServerNotificationManager;
18  import org.mule.lifecycle.MuleContextLifecycleManager;
19  import org.mule.tck.AbstractMuleTestCase;
20  import org.mule.work.MuleWorkManager;
21  
22  public class DefaultMuleContextBuilderTestCase extends AbstractMuleTestCase
23  {
24  
25      public void testBuildMuleContextDefault()
26      {
27          // Build
28          DefaultMuleContextBuilder builder = new DefaultMuleContextBuilder();
29          MuleContext muleContext = builder.buildMuleContext();
30  
31          // Assert
32          assertNotNull(muleContext);
33          assertEquals(DefaultMuleConfiguration.class, muleContext.getConfiguration().getClass());
34          assertEquals(MuleContextLifecycleManager.class, muleContext.getLifecycleManager().getClass());
35          assertEquals(ServerNotificationManager.class, muleContext.getNotificationManager().getClass());
36          assertEquals(MuleWorkManager.class, muleContext.getWorkManager().getClass());
37      }
38  
39      public void testBuildMuleContextCustom()
40      {
41          // Build
42          DefaultMuleContextBuilder builder = new DefaultMuleContextBuilder();
43          builder.setMuleConfiguration(new MyMuleConfiguration());
44          builder.setLifecycleManager(new MyLifeCycleManager());
45          builder.setNotificationManager(new MyServerNotificationManager());
46          builder.setWorkManager(new MyWorkManager(ThreadingProfile.DEFAULT_THREADING_PROFILE, "test"));
47          MuleContext muleContext = builder.buildMuleContext();
48  
49          // Assert
50          assertNotNull(muleContext);
51          assertEquals(MyMuleConfiguration.class, muleContext.getConfiguration().getClass());
52          assertEquals(MyLifeCycleManager.class, muleContext.getLifecycleManager().getClass());
53          assertEquals(MyServerNotificationManager.class, muleContext.getNotificationManager().getClass());
54          assertEquals(MyWorkManager.class, muleContext.getWorkManager().getClass());
55      }
56  
57      /**
58       * Override, we don't want a {@link MuleContext} created for this test case.
59       */
60      protected MuleContext createMuleContext() throws Exception
61      {
62          return null;
63      }
64  
65      static class MyLifeCycleManager extends MuleContextLifecycleManager
66      {
67      }
68  
69      static class MyMuleConfiguration extends DefaultMuleConfiguration
70      {
71      }
72  
73      static class MyServerNotificationManager extends ServerNotificationManager
74      {
75      }
76  
77      static class MyWorkManager extends MuleWorkManager
78      {
79          public MyWorkManager(ThreadingProfile profile, String name)
80          {
81              super(profile, name, 5000);
82          }
83      }
84  
85  }