Skip to content

Commit b3d51b3

Browse files
committed
Update method to use new appconfig and start TDDing LogsReponder
1 parent 01f30ae commit b3d51b3

File tree

4 files changed

+46
-7
lines changed

4 files changed

+46
-7
lines changed

src/main/java/httpserver/Method.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public enum Method {
1717
this.responder = responder;
1818
}
1919

20-
public Response respond(Path root, Request request) {
20+
public Response respond(AppConfig root, Request request) {
2121
return responder.respond(root, request);
2222
}
2323
}

src/main/java/httpserver/SocketHandler.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,12 @@
99
import java.nio.file.Path;
1010

1111
public class SocketHandler implements Runnable {
12-
private final Path root;
13-
private final Logger logger;
12+
private final AppConfig appConfig;
1413
private final InputStream inputStream;
1514
private final OutputStream outputStream;
1615

1716
public SocketHandler(Path root, Logger logger, InputStream inputStream, OutputStream outputStream) {
18-
this.root = root;
19-
this.logger = logger;
17+
this.appConfig = new AppConfig(root, logger);
2018
this.inputStream = inputStream;
2119
this.outputStream = outputStream;
2220
}
@@ -25,8 +23,8 @@ public void run() {
2523
Response response;
2624

2725
try {
28-
Request request = new RequestParser(logger).parse(inputStream);
29-
response = new GeneralResponder().respond(root, request);
26+
Request request = new RequestParser(appConfig).parse(inputStream);
27+
response = new GeneralResponder().respond(appConfig, request);
3028
} catch (Exception e) {
3129
response = new NotFoundResponse();
3230
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package httpserver.responder;
2+
3+
import httpserver.AppConfig;
4+
import httpserver.Header;
5+
import httpserver.Request;
6+
import httpserver.response.OkResponse;
7+
import httpserver.response.Response;
8+
9+
public class LogsResponder implements Responder {
10+
@Override
11+
public Response respond(AppConfig appConfig, Request request) {
12+
byte[] log = appConfig.getLogger().readLog();
13+
return new OkResponse(log, new Header[0]);
14+
}
15+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package httpserver.responder;
2+
3+
import httpserver.AppConfig;
4+
import httpserver.Logger;
5+
import httpserver.Request;
6+
import httpserver.response.Response;
7+
import org.junit.Test;
8+
9+
import static org.junit.Assert.*;
10+
import static org.mockito.Mockito.*;
11+
12+
public class LogsResponderTest {
13+
@Test
14+
public void callsReadLogOnAppConfigLogger() {
15+
Logger loggerMock = mock(Logger.class);
16+
AppConfig appConfigMock = mock(AppConfig.class);
17+
when(appConfigMock.getLogger()).thenReturn(loggerMock);
18+
LogsResponder logsResponder = new LogsResponder();
19+
20+
Response response = logsResponder.respond(appConfigMock, mock(Request.class));
21+
22+
verify(loggerMock).readLog();
23+
assertEquals(200, response.getStatusCode());
24+
}
25+
26+
}

0 commit comments

Comments
 (0)