1
2
3
4
5
6
7
8
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.GenericLifecycleManager;
19 import org.mule.lifecycle.phases.MuleContextDisposePhase;
20 import org.mule.lifecycle.phases.MuleContextInitialisePhase;
21 import org.mule.lifecycle.phases.MuleContextStartPhase;
22 import org.mule.lifecycle.phases.MuleContextStopPhase;
23 import org.mule.tck.AbstractMuleTestCase;
24 import org.mule.work.MuleWorkManager;
25
26 public class DefaultMuleContextBuilderTestCase extends AbstractMuleTestCase
27 {
28
29 public void testBuildMuleContextDefault()
30 {
31
32 DefaultMuleContextBuilder builder = new DefaultMuleContextBuilder();
33 MuleContext muleContext = builder.buildMuleContext();
34
35
36 assertNotNull(muleContext);
37 assertEquals(DefaultMuleConfiguration.class, muleContext.getConfiguration().getClass());
38 assertEquals(GenericLifecycleManager.class, muleContext.getLifecycleManager().getClass());
39 assertEquals(MuleContextInitialisePhase.class, muleContext.getLifecycleManager()
40 .getLifecycles()
41 .toArray()[0].getClass());
42 assertEquals(MuleContextStartPhase.class,
43 muleContext.getLifecycleManager().getLifecycles().toArray()[1].getClass());
44 assertEquals(MuleContextStopPhase.class,
45 muleContext.getLifecycleManager().getLifecycles().toArray()[2].getClass());
46 assertEquals(MuleContextDisposePhase.class, muleContext.getLifecycleManager()
47 .getLifecycles()
48 .toArray()[3].getClass());
49
50 assertEquals(ServerNotificationManager.class, muleContext.getNotificationManager().getClass());
51 assertEquals(MuleWorkManager.class, muleContext.getWorkManager().getClass());
52 }
53
54 public void testBuildMuleContextCustom()
55 {
56
57 DefaultMuleContextBuilder builder = new DefaultMuleContextBuilder();
58 builder.setMuleConfiguration(new MyMuleConfiguration());
59 builder.setLifecycleManager(new MyLifeCycleManager());
60 builder.setNotificationManager(new MyServerNotificationManager());
61 builder.setWorkManager(new MyWorkManager(ThreadingProfile.DEFAULT_THREADING_PROFILE, "test"));
62 MuleContext muleContext = builder.buildMuleContext();
63
64
65 assertNotNull(muleContext);
66 assertEquals(MyMuleConfiguration.class, muleContext.getConfiguration().getClass());
67 assertEquals(MyLifeCycleManager.class, muleContext.getLifecycleManager().getClass());
68 assertEquals(MyServerNotificationManager.class, muleContext.getNotificationManager().getClass());
69 assertEquals(MyWorkManager.class, muleContext.getWorkManager().getClass());
70 }
71
72
73
74
75 protected MuleContext createMuleContext() throws Exception
76 {
77 return null;
78 }
79
80 static class MyLifeCycleManager extends GenericLifecycleManager
81 {
82 }
83
84 static class MyMuleConfiguration extends DefaultMuleConfiguration
85 {
86 }
87
88 static class MyServerNotificationManager extends ServerNotificationManager
89 {
90 }
91
92 static class MyWorkManager extends MuleWorkManager
93 {
94 public MyWorkManager(ThreadingProfile profile, String name)
95 {
96 super(profile, name);
97 }
98 }
99
100 }