Skip to content

Commit 044df43

Browse files
committed
Make Server log error if an IOException is thrown
1 parent b92ffae commit 044df43

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

src/main/java/httpserver/Server.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,13 @@ public Server(ServerSocket serverSocket, AppConfig appConfig) {
1414
this.appConfig = appConfig;
1515
}
1616

17-
public void acceptConnection(ExecutorService executorService, SocketHandlerFactory socketHandlerFactory){
17+
public void acceptConnection(ExecutorService executorService, SocketHandlerFactory socketHandlerFactory) {
1818
try {
1919
Socket clientSocket = serverSocket.accept();
2020
SocketHandler socketHandler = socketHandlerFactory.newSocketHandler(appConfig, clientSocket);
2121
executorService.submit(socketHandler);
2222
} catch (IOException e) {
23-
System.out.println("Server socket error");
24-
e.printStackTrace();
23+
appConfig.getLogger().log(e.toString());
2524
}
2625
}
2726
}

src/test/java/httpserver/ServerTest.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class ServerTest {
1515
private final ServerSocket serverSocketMock;
1616
private final Socket socket;
1717
private final AppConfig appConfigMock;
18-
private Server server;
18+
private final Server server;
1919
private final ExecutorService executorServiceMock;
2020
private final SocketHandler socketHandlerMock;
2121

@@ -54,4 +54,15 @@ public void callsExecutorSubmitWithSocketHandler() throws Exception {
5454

5555
verify(executorServiceMock).submit(socketHandlerMock);
5656
}
57+
58+
@Test
59+
public void acceptConnectionLogsExceptionIfThereIsAnIoException() throws Exception {
60+
when(serverSocketMock.accept()).thenThrow(new IOException());
61+
Logger loggerMock = mock(Logger.class);
62+
when(appConfigMock.getLogger()).thenReturn(loggerMock);
63+
64+
server.acceptConnection(executorServiceMock, socketHandlerFactoryMock);
65+
66+
verify(loggerMock).log(any());
67+
}
5768
}

0 commit comments

Comments
 (0)