Skip to content

Commit 1841c3b

Browse files
committed
CITRUS-32 Use Mockito as unit mocking framework
1 parent f3fe380 commit 1841c3b

221 files changed

Lines changed: 5657 additions & 8232 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

modules/citrus-admin/src/test/java/com/consol/citrus/admin/handlebars/HandlebarsHelperPostProcessorTest.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,15 @@
1818

1919
import com.github.jknack.handlebars.Helper;
2020
import com.github.jknack.handlebars.Options;
21-
import com.github.jknack.handlebars.helper.BlockHelper;
22-
import com.github.jknack.handlebars.helper.StringHelpers;
2321
import com.github.jknack.handlebars.springmvc.HandlebarsViewResolver;
24-
import org.easymock.EasyMock;
22+
import org.mockito.Mockito;
2523
import org.testng.annotations.Test;
2624

2725
import java.io.IOException;
2826
import java.util.*;
2927

30-
import static org.easymock.EasyMock.*;
28+
import static org.mockito.Mockito.*;
29+
3130

3231
/**
3332
* @author Christoph Deppisch
@@ -48,23 +47,19 @@ public void testPostProcess() throws Exception {
4847
helperSources.add(helperSourceMock);
4948
postProcessor.setHelperSources(helperSources);
5049

51-
HandlebarsViewResolver viewResolver = EasyMock.createMock(HandlebarsViewResolver.class);
50+
HandlebarsViewResolver viewResolver = Mockito.mock(HandlebarsViewResolver.class);
5251

53-
Object otherBean = EasyMock.createMock(Object.class);
52+
Object otherBean = Mockito.mock(Object.class);
5453

5554
reset(viewResolver, otherBean);
5655

57-
expect(viewResolver.registerHelper("foo", helperMock)).andReturn(viewResolver).once();
58-
expect(viewResolver.registerHelpers(helperSourceMock)).andReturn(viewResolver).once();
59-
60-
replay(viewResolver, otherBean);
56+
when(viewResolver.registerHelper("foo", helperMock)).thenReturn(viewResolver);
57+
when(viewResolver.registerHelpers(helperSourceMock)).thenReturn(viewResolver);
6158

6259
postProcessor.postProcessBeforeInitialization(viewResolver, "handlebarsViewResolver");
6360
postProcessor.postProcessBeforeInitialization(otherBean, "otherBean");
6461
postProcessor.postProcessAfterInitialization(viewResolver, "handlebarsViewResolver");
6562
postProcessor.postProcessAfterInitialization(otherBean, "otherBean");
66-
67-
verify(viewResolver, otherBean);
6863
}
6964

7065
/** Helper source mock implementation */

modules/citrus-admin/src/test/java/com/consol/citrus/admin/launcher/ProcessMonitorImplTest.java

Lines changed: 13 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,15 @@
1616

1717
package com.consol.citrus.admin.launcher;
1818

19-
import org.easymock.EasyMock;
19+
20+
import org.mockito.Mockito;
2021
import org.testng.Assert;
2122
import org.testng.annotations.BeforeMethod;
2223
import org.testng.annotations.Test;
2324

2425
import java.util.Set;
2526

26-
import static org.easymock.EasyMock.expect;
27-
import static org.easymock.EasyMock.replay;
28-
import static org.easymock.EasyMock.verify;
27+
import static org.mockito.Mockito.*;
2928
import static org.testng.Assert.fail;
3029

3130
/**
@@ -39,31 +38,15 @@ public class ProcessMonitorImplTest {
3938

4039
@BeforeMethod
4140
public void setUp() throws Exception {
42-
processLauncherMock1 = EasyMock.createMock(ProcessLauncher.class);
43-
processLauncherMock2 = EasyMock.createMock(ProcessLauncher.class);
41+
processLauncherMock1 = Mockito.mock(ProcessLauncher.class);
42+
processLauncherMock2 = Mockito.mock(ProcessLauncher.class);
4443
testling = new ProcessMonitorImpl();
4544
}
4645

47-
private void replayMocks() {
48-
replay(
49-
processLauncherMock1,
50-
processLauncherMock2
51-
);
52-
}
53-
54-
private void verifyMocks() {
55-
verify(
56-
processLauncherMock1,
57-
processLauncherMock2
58-
);
59-
}
60-
6146
@Test
6247
public void testAdd() throws Exception {
63-
expect(processLauncherMock1.getProcessId()).andReturn("p1").anyTimes();
64-
expect(processLauncherMock2.getProcessId()).andReturn("p2").anyTimes();
65-
66-
replayMocks();
48+
when(processLauncherMock1.getProcessId()).thenReturn("p1");
49+
when(processLauncherMock2.getProcessId()).thenReturn("p2");
6750

6851
Set<String> processIds = testling.getProcessIds();
6952
Assert.assertEquals(processIds.size(), 0);
@@ -75,16 +58,12 @@ public void testAdd() throws Exception {
7558
testling.add(processLauncherMock2);
7659
processIds = testling.getProcessIds();
7760
Assert.assertEquals(processIds.size(), 2);
78-
79-
verifyMocks();
8061
}
8162

8263
@Test
8364
public void testAdd_duplicate() throws Exception {
84-
expect(processLauncherMock1.getProcessId()).andReturn("p1").anyTimes();
85-
expect(processLauncherMock2.getProcessId()).andReturn("p1").anyTimes();
86-
87-
replayMocks();
65+
when(processLauncherMock1.getProcessId()).thenReturn("p1");
66+
when(processLauncherMock2.getProcessId()).thenReturn("p1");
8867

8968
Set<String> processIds = testling.getProcessIds();
9069
Assert.assertEquals(processIds.size(), 0);
@@ -101,15 +80,11 @@ public void testAdd_duplicate() throws Exception {
10180
processIds = testling.getProcessIds();
10281
Assert.assertEquals(processIds.size(), 1);
10382
}
104-
105-
verifyMocks();
10683
}
10784

10885
@Test
10986
public void testRemove() throws Exception {
110-
expect(processLauncherMock1.getProcessId()).andReturn("p1").anyTimes();
111-
112-
replayMocks();
87+
when(processLauncherMock1.getProcessId()).thenReturn("p1");
11388

11489
Set<String> processIds = null;
11590

@@ -124,17 +99,13 @@ public void testRemove() throws Exception {
12499
testling.remove(processLauncherMock1);
125100
processIds = testling.getProcessIds();
126101
Assert.assertEquals(processIds.size(), 0);
127-
128-
verifyMocks();
129102
}
130103

131104
@Test
132105
public void testStopProcess() throws Exception {
133-
expect(processLauncherMock1.getProcessId()).andReturn("p1").anyTimes();
106+
when(processLauncherMock1.getProcessId()).thenReturn("p1");
134107
processLauncherMock1.stop();
135108

136-
replayMocks();
137-
138109
Set<String> processIds = null;
139110

140111
// stop known process
@@ -143,25 +114,18 @@ public void testStopProcess() throws Exception {
143114

144115
// stop unknown process
145116
testling.stopProcess("p2");
146-
147-
verifyMocks();
148117
}
149118

150119
@Test
151120
public void testStopAllProcesses() throws Exception {
152-
expect(processLauncherMock1.getProcessId()).andReturn("p1").anyTimes();
153-
expect(processLauncherMock2.getProcessId()).andReturn("p2").anyTimes();
121+
when(processLauncherMock1.getProcessId()).thenReturn("p1");
122+
when(processLauncherMock2.getProcessId()).thenReturn("p2");
154123
processLauncherMock1.stop();
155124
processLauncherMock2.stop();
156125

157-
replayMocks();
158-
159126
testling.add(processLauncherMock1);
160127
testling.add(processLauncherMock2);
161128

162129
testling.stopAllProcesses();
163-
164-
verifyMocks();
165-
166130
}
167131
}

modules/citrus-admin/src/test/java/com/consol/citrus/admin/service/TestCaseServiceTest.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
package com.consol.citrus.admin.service;
1818

1919
import com.consol.citrus.CitrusConstants;
20-
import com.consol.citrus.admin.model.*;
21-
import org.easymock.EasyMock;
20+
import com.consol.citrus.admin.model.Project;
21+
import com.consol.citrus.admin.model.TestCaseData;
22+
import org.mockito.Mockito;
2223
import org.springframework.beans.factory.annotation.Autowired;
2324
import org.springframework.core.io.ClassPathResource;
2425
import org.springframework.test.context.ContextConfiguration;
@@ -29,7 +30,7 @@
2930
import java.io.IOException;
3031
import java.util.List;
3132

32-
import static org.easymock.EasyMock.*;
33+
import static org.mockito.Mockito.*;
3334

3435
/**
3536
* @author Christoph Deppisch
@@ -40,14 +41,13 @@ public class TestCaseServiceTest extends AbstractTestNGSpringContextTests {
4041
@Autowired
4142
private TestCaseServiceImpl testCaseService;
4243

43-
private Project project = EasyMock.createMock(Project.class);
44+
private Project project = Mockito.mock(Project.class);
4445

4546
@Test
4647
public void testGetTests() throws IOException {
4748
reset(project);
48-
expect(project.getSrcDirectory()).andReturn(CitrusConstants.DEFAULT_TEST_SRC_DIRECTORY).atLeastOnce();
49-
expect(project.getProjectHome()).andReturn(new ClassPathResource("test-project").getFile().getAbsolutePath()).atLeastOnce();
50-
replay(project);
49+
when(project.getSrcDirectory()).thenReturn(CitrusConstants.DEFAULT_TEST_SRC_DIRECTORY);
50+
when(project.getProjectHome()).thenReturn(new ClassPathResource("test-project").getFile().getAbsolutePath());
5151

5252
List<TestCaseData> tests = testCaseService.getTests(project);
5353

@@ -69,7 +69,5 @@ public void testGetTests() throws IOException {
6969
test = tests.get(3);
7070
Assert.assertEquals(test.getName(), "FooTest");
7171
Assert.assertEquals(test.getPackageName(), "com.consol.citrus");
72-
73-
verify(project);
7472
}
7573
}

modules/citrus-admin/src/test/java/com/consol/citrus/admin/websocket/WebSocketProcessListenerTest.java

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,68 +16,62 @@
1616

1717
package com.consol.citrus.admin.websocket;
1818

19-
import org.easymock.EasyMock;
20-
import org.easymock.IAnswer;
19+
2120
import net.minidev.json.JSONObject;
21+
import org.mockito.Mockito;
22+
import org.mockito.invocation.InvocationOnMock;
23+
import org.mockito.stubbing.Answer;
2224
import org.testng.Assert;
2325
import org.testng.annotations.Test;
2426

2527
import java.io.IOException;
2628

27-
import static org.easymock.EasyMock.*;
29+
import static org.mockito.Mockito.*;
2830

2931
/**
3032
* @author Christoph Deppisch
3133
*/
3234
public class WebSocketProcessListenerTest {
3335

34-
private LoggingWebSocket loggingWebSocket = EasyMock.createMock(LoggingWebSocket.class);
36+
private LoggingWebSocket loggingWebSocket = Mockito.mock(LoggingWebSocket.class);
3537

3638
@Test
3739
public void testTestEventExtraction() throws IOException {
3840
reset(loggingWebSocket);
3941

40-
loggingWebSocket.push(anyObject(JSONObject.class));
41-
expectLastCall().andAnswer(new IAnswer<Object>() {
42-
public Object answer() throws Throwable {
43-
JSONObject event = (JSONObject)getCurrentArguments()[0];
42+
doAnswer(new Answer() {
43+
@Override
44+
public Object answer(InvocationOnMock invocation) throws Throwable {
45+
JSONObject event = (JSONObject)invocation.getArguments()[0];
4446

4547
Assert.assertEquals(event.get("progress").toString(), "50");
4648
return null;
4749
}
48-
}).once();
49-
50-
replay(loggingWebSocket);
50+
}).when(loggingWebSocket).push(any(JSONObject.class));
5151

5252
WebSocketProcessListener listener = new WebSocketProcessListener();
5353
listener.setLoggingWebSocket(loggingWebSocket);
5454

5555
listener.onProcessActivity("test", "INFO: TEST STEP 1/2 SUCCESS");
56-
57-
verify(loggingWebSocket);
5856
}
5957

6058
@Test
6159
public void testTestEventExtractionHighNumbers() throws IOException {
6260
reset(loggingWebSocket);
6361

64-
loggingWebSocket.push(anyObject(JSONObject.class));
65-
expectLastCall().andAnswer(new IAnswer<Object>() {
66-
public Object answer() throws Throwable {
67-
JSONObject event = (JSONObject)getCurrentArguments()[0];
62+
doAnswer(new Answer() {
63+
@Override
64+
public Object answer(InvocationOnMock invocation) throws Throwable {
65+
JSONObject event = (JSONObject)invocation.getArguments()[0];
6866

6967
Assert.assertEquals(event.get("progress").toString(), "9");
7068
return null;
7169
}
72-
}).once();
73-
74-
replay(loggingWebSocket);
70+
}).when(loggingWebSocket).push(any(JSONObject.class));
7571

7672
WebSocketProcessListener listener = new WebSocketProcessListener();
7773
listener.setLoggingWebSocket(loggingWebSocket);
7874

7975
listener.onProcessActivity("test", "INFO: TEST STEP 20/229 SUCCESS");
80-
81-
verify(loggingWebSocket);
8276
}
8377
}

modules/citrus-admin/src/test/resources/com/consol/citrus/admin/citrus-admin-test-context.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,31 @@
1010
<context:annotation-config/>
1111

1212
<!-- Mocks -->
13-
<bean id="configService" class="org.easymock.EasyMock" factory-method="createMock">
13+
<bean id="configService" class="org.mockito.Mockito" factory-method="mock">
1414
<constructor-arg value="com.consol.citrus.admin.service.ConfigurationService"/>
1515
</bean>
1616

17-
<bean id="processMonitor" class="org.easymock.EasyMock" factory-method="createMock">
17+
<bean id="processMonitor" class="org.mockito.Mockito" factory-method="mock">
1818
<constructor-arg value="com.consol.citrus.admin.launcher.ProcessMonitor"/>
1919
</bean>
2020

21-
<bean id="loggingWebSocket" class="org.easymock.EasyMock" factory-method="createMock">
21+
<bean id="loggingWebSocket" class="org.mockito.Mockito" factory-method="mock">
2222
<constructor-arg value="com.consol.citrus.admin.websocket.LoggingWebSocket"/>
2323
</bean>
2424

25-
<bean id="webSocketTestListener" class="org.easymock.EasyMock" factory-method="createMock">
25+
<bean id="webSocketTestListener" class="org.mockito.Mockito" factory-method="mock">
2626
<constructor-arg value="com.consol.citrus.admin.websocket.WebSocketTestListener"/>
2727
</bean>
2828

29-
<bean id="webSocketProcessListener" class="org.easymock.EasyMock" factory-method="createMock">
29+
<bean id="webSocketProcessListener" class="org.mockito.Mockito" factory-method="mock">
3030
<constructor-arg value="com.consol.citrus.admin.websocket.WebSocketProcessListener"/>
3131
</bean>
3232

33-
<bean id="webSocketLoggingAppender" class="org.easymock.EasyMock" factory-method="createMock">
33+
<bean id="webSocketLoggingAppender" class="org.mockito.Mockito" factory-method="mock">
3434
<constructor-arg value="com.consol.citrus.admin.websocket.WebSocketLoggingAppender"/>
3535
</bean>
3636

37-
<bean id="appContextHolder" class="org.easymock.EasyMock" factory-method="createMock">
37+
<bean id="appContextHolder" class="org.mockito.Mockito" factory-method="mock">
3838
<constructor-arg value="com.consol.citrus.admin.executor.ApplicationContextHolder"/>
3939
</bean>
4040

modules/citrus-arquillian/src/test/java/com/consol/citrus/arquillian/client/CitrusArchiveAppenderTest.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@
2424
import com.consol.citrus.arquillian.enricher.CitrusTestEnricher;
2525
import com.consol.citrus.arquillian.helper.InjectionHelper;
2626
import com.consol.citrus.arquillian.lifecycle.CitrusRemoteLifecycleHandler;
27-
import org.easymock.EasyMock;
2827
import org.jboss.arquillian.core.api.Instance;
2928
import org.jboss.shrinkwrap.api.*;
3029
import org.jboss.shrinkwrap.api.spec.JavaArchive;
30+
import org.mockito.Mockito;
3131
import org.springframework.util.ReflectionUtils;
3232
import org.testng.Assert;
3333
import org.testng.annotations.Test;
3434

3535
import java.util.*;
3636

37-
import static org.easymock.EasyMock.*;
37+
import static org.mockito.Mockito.*;
3838

3939
public class CitrusArchiveAppenderTest {
4040

@@ -50,10 +50,8 @@ public class CitrusArchiveAppenderTest {
5050
@Test
5151
public void testBuildArchive() throws Exception {
5252
CitrusConfiguration configuration = CitrusConfiguration.from(new Properties());
53-
Instance<CitrusConfiguration> configurationInstance = EasyMock.createMock(Instance.class);
54-
expect(configurationInstance.get()).andReturn(configuration).once();
55-
56-
replay(configurationInstance);
53+
Instance<CitrusConfiguration> configurationInstance = Mockito.mock(Instance.class);
54+
when(configurationInstance.get()).thenReturn(configuration);
5755

5856
InjectionHelper.inject(archiveAppender, "configurationInstance", configurationInstance);
5957

@@ -67,8 +65,6 @@ public void testBuildArchive() throws Exception {
6765
}
6866

6967
Assert.assertTrue(archive.contains("/" + CitrusExtensionConstants.CITRUS_REMOTE_PROPERTIES));
70-
71-
verify(configurationInstance);
7268
}
7369

7470
private ArchivePath getArchivePath(Class type) {

0 commit comments

Comments
 (0)