Skip to content

Commit b92ffae

Browse files
committed
Make MethodResponderSupplier throw Exception if no MethodResponder can respond
1 parent 3e750d3 commit b92ffae

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/main/java/httpserver/route/RedirectRoute.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
import httpserver.response.FoundResponse;
66
import httpserver.response.Response;
77

8-
import java.io.IOException;
9-
108
public class RedirectRoute extends Route {
119
public RedirectRoute() {
1210
super.routeString = "/redirect";
1311
}
1412

1513
@Override
16-
public Response respond(AppConfig appConfig, Request request) throws IOException {
14+
public Response respond(AppConfig appConfig, Request request) {
1715
return new FoundResponse("/");
1816
}
1917
}

src/test/java/httpserver/MethodRouteSupplierTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,22 @@ public MethodRouteSupplierTest() {
2828
@Test
2929
public void returnsResponderForMethod() throws Exception {
3030
Request request = new Request(Method.GET, null, null, null);
31-
when(getResponderMock.handles(any())).thenReturn(true);
31+
when(getResponderMock.handles(request)).thenReturn(true);
3232

3333
MethodResponder methodResponder = methodResponderSupplier.supplyResponder(request);
3434

3535
assertEquals(getResponderMock, methodResponder);
3636
}
3737

38+
@Test(expected = Exception.class)
39+
public void throwsErrorWhenNoResponderForRequestMethod() throws Exception {
40+
Request request = new Request(Method.PUT, null, null, null);
41+
when(getResponderMock.handles(request)).thenReturn(false);
42+
when(postResponderMock.handles(request)).thenReturn(false);
43+
44+
methodResponderSupplier.supplyResponder(request);
45+
}
46+
3847
@Test
3948
public void returnsAllRespondersRegistered() throws Exception {
4049
List<MethodResponder> actual = methodResponderSupplier.allResponders();

0 commit comments

Comments
 (0)