Skip to content

Commit f0b8379

Browse files
committedNov 13, 2013
Adding a unit test for: ModuleActivator.started()/.contextRefreshed()
not called when module is stopped/restarted or newly uploaded - TRUNK-4134
1 parent 0d4d58d commit f0b8379

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
 

‎web/src/test/java/org/openmrs/web/test/WebModuleActivatorTest.java

+33
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,37 @@ public void shouldRefreshOtherModulesOnStoppingModule() {
8484
assertTrue(moduleTestData.getContextRefreshedCallCount(MODULE1_ID) == 1);
8585
assertTrue(moduleTestData.getContextRefreshedCallCount(MODULE2_ID) == 1);
8686
}
87+
88+
@Test
89+
@NotTransactional
90+
public void shouldRefreshOtherModulesOnStartingStoppedModule() {
91+
Module module = ModuleFactory.getModuleById(MODULE3_ID);
92+
ModuleFactory.stopModule(module);
93+
Has conversations. Original line has conversations.
94+
init(); //to initialize for the condition below:
95+
96+
//When OpenMRS is running and you start a stopped module:
97+
// willRefreshContext() and contextRefreshed() methods get called for all started modules' activators (including the newly started module)
98+
// started() method gets called for ONLY the newly started module's activator
99+
100+
//start module3 which was previously stopped
101+
ModuleFactory.startModule(module);
102+
WebModuleUtil.startModule(module, ((XmlWebApplicationContext) applicationContext).getServletContext(), false);
103+
104+
assertTrue(module.isStarted());
105+
assertTrue(ModuleFactory.isModuleStarted(module));
106+
107+
//module1, module2 and module3 should refresh
108+
assertTrue(moduleTestData.getWillRefreshContextCallCount(MODULE1_ID) == 1);
109+
assertTrue(moduleTestData.getWillRefreshContextCallCount(MODULE2_ID) == 1);
110+
assertTrue(moduleTestData.getWillRefreshContextCallCount(MODULE3_ID) == 1);
111+
assertTrue(moduleTestData.getContextRefreshedCallCount(MODULE1_ID) == 1);
112+
assertTrue(moduleTestData.getContextRefreshedCallCount(MODULE2_ID) == 1);
113+
assertTrue(moduleTestData.getContextRefreshedCallCount(MODULE3_ID) == 1);
114+
115+
//started() method gets called for ONLY the newly started module's activator
116+
assertTrue(moduleTestData.getStartedCallCount(MODULE1_ID) == 0);
117+
assertTrue(moduleTestData.getStartedCallCount(MODULE2_ID) == 0);
118+
assertTrue(moduleTestData.getStartedCallCount(MODULE3_ID) == 1);
119+
}
87120
}

0 commit comments

Comments
 (0)
Please sign in to comment.