77import java .net .Socket ;
88import java .nio .file .Path ;
99import java .nio .file .Paths ;
10- import java .util .concurrent .Executor ;
10+ import java .util .concurrent .ExecutorService ;
11+ import java .util .concurrent .Future ;
1112
1213import static org .mockito .Mockito .*;
1314
@@ -19,8 +20,9 @@ public class ServerTest {
1920 private final ServerSocket serverSocketMock ;
2021 private final Socket socket ;
2122 private Server server ;
22- private final Executor executorMock ;
23+ private final ExecutorService executorServiceMock ;
2324 private final SocketHandler socketHandlerMock ;
25+ private final Future futureMock ;
2426
2527 public ServerTest () throws IOException {
2628 socket = new Socket ();
@@ -35,27 +37,36 @@ public ServerTest() throws IOException {
3537 socketHandlerFactoryMock = mock (SocketHandlerFactory .class );
3638 when (socketHandlerFactoryMock .newSocketHandler (any (), any (), any ())).thenReturn (socketHandlerMock );
3739
38- executorMock = mock (Executor .class );
40+ executorServiceMock = mock (ExecutorService .class );
41+ futureMock = mock (Future .class );
42+ when (executorServiceMock .submit (socketHandlerMock )).thenReturn (futureMock );
3943 }
4044
4145 @ Test
4246 public void callsAcceptOnServerSocket () throws Exception {
43- server .acceptConnection (executorMock , socketHandlerFactoryMock );
47+ server .acceptConnection (executorServiceMock , socketHandlerFactoryMock );
4448
4549 verify (serverSocketMock ).accept ();
4650 }
4751
4852 @ Test
4953 public void callsNewSocketHandlerWithCorrectArgs () throws Exception {
50- server .acceptConnection (executorMock , socketHandlerFactoryMock );
54+ server .acceptConnection (executorServiceMock , socketHandlerFactoryMock );
5155
5256 verify (socketHandlerFactoryMock ).newSocketHandler (root , logPath , socket );
5357 }
5458
5559 @ Test
56- public void callsExecutorExecuteWithSocketHandler () throws Exception {
57- server .acceptConnection (executorMock , socketHandlerFactoryMock );
60+ public void callsExecutorSubmitWithSocketHandler () throws Exception {
61+ server .acceptConnection (executorServiceMock , socketHandlerFactoryMock );
5862
59- verify (executorMock ).execute (socketHandlerMock );
63+ verify (executorServiceMock ).submit (socketHandlerMock );
64+ }
65+
66+ @ Test
67+ public void callsGetOnFuture () throws Exception {
68+ server .acceptConnection (executorServiceMock , socketHandlerFactoryMock );
69+
70+ verify (futureMock ).get ();
6071 }
6172}
0 commit comments