View Javadoc

1   /*
2    * $Id: DefaultMuleContextBuilderTestCase.java 22377 2011-07-11 12:41:42Z dirk.olmes $
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.junit4.AbstractMuleTestCase;
20  import org.mule.work.MuleWorkManager;
21  
22  import org.junit.Test;
23  
24  import static org.junit.Assert.assertEquals;
25  import static org.junit.Assert.assertNotNull;
26  
27  public class DefaultMuleContextBuilderTestCase extends AbstractMuleTestCase
28  {
29  
30      @Test
31      public void testBuildMuleContextDefault()
32      {
33          // Build
34          DefaultMuleContextBuilder builder = new DefaultMuleContextBuilder();
35          MuleContext muleContext = builder.buildMuleContext();
36  
37          // Assert
38          assertNotNull(muleContext);
39          assertEquals(DefaultMuleConfiguration.class, muleContext.getConfiguration().getClass());
40          assertEquals(MuleContextLifecycleManager.class, muleContext.getLifecycleManager().getClass());
41          assertEquals(ServerNotificationManager.class, muleContext.getNotificationManager().getClass());
42          assertEquals(MuleWorkManager.class, muleContext.getWorkManager().getClass());
43      }
44  
45      @Test
46      public void testBuildMuleContextCustom()
47      {
48          // Build
49          DefaultMuleContextBuilder builder = new DefaultMuleContextBuilder();
50          builder.setMuleConfiguration(new MyMuleConfiguration());
51          builder.setLifecycleManager(new MyLifeCycleManager());
52          builder.setNotificationManager(new MyServerNotificationManager());
53          builder.setWorkManager(new MyWorkManager(ThreadingProfile.DEFAULT_THREADING_PROFILE, "test"));
54          MuleContext muleContext = builder.buildMuleContext();
55  
56          // Assert
57          assertNotNull(muleContext);
58          assertEquals(MyMuleConfiguration.class, muleContext.getConfiguration().getClass());
59          assertEquals(MyLifeCycleManager.class, muleContext.getLifecycleManager().getClass());
60          assertEquals(MyServerNotificationManager.class, muleContext.getNotificationManager().getClass());
61          assertEquals(MyWorkManager.class, muleContext.getWorkManager().getClass());
62      }
63  
64      /**
65       * Override, we don't want a {@link MuleContext} created for this test case.
66       */
67      protected MuleContext createMuleContext() throws Exception
68      {
69          return null;
70      }
71  
72      static class MyLifeCycleManager extends MuleContextLifecycleManager
73      {
74      }
75  
76      static class MyMuleConfiguration extends DefaultMuleConfiguration
77      {
78      }
79  
80      static class MyServerNotificationManager extends ServerNotificationManager
81      {
82      }
83  
84      static class MyWorkManager extends MuleWorkManager
85      {
86          public MyWorkManager(ThreadingProfile profile, String name)
87          {
88              super(profile, name, 5000);
89          }
90      }
91  
92  }