/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_properly_output_an_internal_error() throws Exception { final IOException e = new IOException("foo bar"); final ResponseBuilder<?> builder = underTest.response().forException(e); assertContents(builder, "InternalErrorOutput.txt"); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_properly_output_a_ResourceFile() throws Exception { final ResponseBuilder<?> builder = underTest.response().fromFile(resourceFile); assertContents(builder, "ResourceFileOutput.txt"); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_properly_output_a_PermanentRedirect() throws Exception { final ResponseBuilder<?> builder = underTest.response().permanentRedirect("http://acme.com"); assertContents(builder, "PermanentRedirectOutput.txt"); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_output_a_ResourceFile_when_Etag_not_Matching() throws Exception { headers.put(HEADER_IF_NONE_MATCH, "\"xxxx\""); final ResponseBuilder<?> builder = underTest.response().fromFile(resourceFile) .forRequest(request); assertContents(builder, "ResourceFileOutput.txt"); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_output_NotModified_when_Etag_Matching() throws Exception { headers.put(HEADER_IF_NONE_MATCH, "\"1341242553456\""); final ResponseBuilder<?> builder = underTest.response().fromFile(resourceFile) .forRequest(request); assertContents(builder, "ResourceFileNotModifiedOutput.txt"); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_roperly_output_NotFound() throws Exception { final NotFoundException e = new NotFoundException("foo bar"); final ResponseBuilder<?> builder = underTest.response().forException(e); assertContents(builder, "NotFoundExceptionOutput.txt"); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_properly_output_a_ResourceFile_with_ExpirationTime() throws Exception { final ResponseBuilder<?> builder = underTest.response().fromFile(resourceFile) .withExpirationTime(Duration.standardDays(7)); assertContents(builder, "ResourceFileOutputWithExpirationTime.txt"); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_output_a_ResourceFile_when_IfModifiedSince_less_recent_than_ModifiedTime() throws Exception { for (int deltaSeconds = -10; deltaSeconds < 0; deltaSeconds++) { final DateTime ifModifiedSinceTime = resourceLatestModifiedTime.plusSeconds(deltaSeconds); headers.put(HEADER_IF_MODIFIED_SINCE, toString(ifModifiedSinceTime)); final ResponseBuilder<?> builder = underTest.response().fromFile(resourceFile) .forRequest(request); assertContents(builder, "ResourceFileOutput.txt"); } }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_output_NotModified_when_IfModifiedSince_more_recent_than_or_equal_to_ModifiedTime() throws Exception { // corner case: same time should return NotModified for (int deltaSeconds = 0; deltaSeconds < 10; deltaSeconds++) { final DateTime ifModifiedSinceTime = resourceLatestModifiedTime.plusSeconds(deltaSeconds); headers.put(HEADER_IF_MODIFIED_SINCE, toString(ifModifiedSinceTime)); final ResponseBuilder<?> builder = underTest.response().fromFile(resourceFile) .forRequest(request); assertContents(builder, "ResourceFileNotModifiedOutput.txt"); } }