11package httpserver .responder ;
22
33import httpserver .AppConfig ;
4+ import httpserver .Range ;
45import httpserver .file .Html ;
56import httpserver .file .PathExaminer ;
67import httpserver .header .Header ;
@@ -23,13 +24,18 @@ public class GetResponderTest {
2324 private final PathExaminer pathExaminerMock ;
2425 private final Path rootMock ;
2526 private final Html htmlMock ;
27+ private final RangeHeaderValueParser rangeHeaderValueParserMock ;
2628
2729 public GetResponderTest () throws IOException {
2830 routeMapMock = mock (RouteMap .class );
2931 pathExaminerMock = mock (PathExaminer .class );
3032
3133 htmlMock = mock (Html .class );
32- getResponder = new GetResponder (routeMapMock , pathExaminerMock , htmlMock );
34+ rangeHeaderValueParserMock = mock (RangeHeaderValueParser .class );
35+ getResponder = new GetResponder (routeMapMock ,
36+ pathExaminerMock ,
37+ htmlMock ,
38+ rangeHeaderValueParserMock );
3339 appConfigMock = mock (AppConfig .class );
3440 rootMock = mock (Path .class );
3541 when (appConfigMock .getRoot ()).thenReturn (rootMock );
@@ -90,14 +96,17 @@ public void respondsToRangeRequest() throws Exception {
9096 byte [] payloadMock = "range test string" .getBytes ();
9197 when (pathExaminerMock .fileContents (fullPathMock )).thenReturn (payloadMock );
9298
93- Header [] headers = new Header []{new Header ("Range" , "bytes=3-8" )};
99+ String rangeHeaderValue = "bytes=3-8" ;
100+ Header [] headers = new Header []{new Header ("Range" , rangeHeaderValue )};
101+ Range rangeMock = mock (Range .class );
102+ when (rangeHeaderValueParserMock .parse (rangeHeaderValue , payloadMock .length )).thenReturn (rangeMock );
103+
94104 Request request = new Request ("GET" , "/filename" , headers , "" );
95105
96106 Response response = getResponder .respond (appConfigMock , request );
97107
98108 assertEquals (206 , response .getStatusCode ());
99- assertEquals ("ge te" , new String (response .getPayload ()));
100- assertEquals (new Header ("Content-Length" , "5" ), response .getContentLengthHeader ());
109+ verify (rangeHeaderValueParserMock ).parse (rangeHeaderValue , payloadMock .length );
101110 }
102111
103112 @ Test
0 commit comments