"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "spring-web/src/test/java/org/springframework/web/context/request/ServletWebRequestHttpMethodsTests.java" between
spring-framework-5.3.23.tar.gz and spring-framework-5.3.24.tar.gz

About: Spring Framework is an application framework for the Java platform and .NET Framework. Community edition.

ServletWebRequestHttpMethodsTests.java  (spring-framework-5.3.23):ServletWebRequestHttpMethodsTests.java  (spring-framework-5.3.24)
skipping to change at line 26 skipping to change at line 26
package org.springframework.web.context.request; package org.springframework.web.context.request;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.Date; import java.util.Date;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource; import org.junit.jupiter.params.provider.ValueSource;
import org.springframework.web.testfixture.servlet.MockHttpServletRequest; import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
import org.springframework.web.testfixture.servlet.MockHttpServletResponse; import org.springframework.web.testfixture.servlet.MockHttpServletResponse;
import static java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME; import static java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
/** /**
skipping to change at line 287 skipping to change at line 288
String etag = "\"Bar\""; String etag = "\"Bar\"";
String multipleETags = String.format("\"Foo\", %s", etag); String multipleETags = String.format("\"Foo\", %s", etag);
servletRequest.addHeader("If-None-Match", multipleETags); servletRequest.addHeader("If-None-Match", multipleETags);
assertThat(request.checkNotModified(etag)).isTrue(); assertThat(request.checkNotModified(etag)).isTrue();
assertThat(servletResponse.getStatus()).isEqualTo(304); assertThat(servletResponse.getStatus()).isEqualTo(304);
assertThat(servletResponse.getHeader("ETag")).isEqualTo(etag); assertThat(servletResponse.getHeader("ETag")).isEqualTo(etag);
} }
@ParameterizedHttpMethodTest @Test
void checkNotModifiedTimestampWithLengthPart(String method) { void checkNotModifiedTimestampWithLengthPart() {
setUpRequest(method); setUpRequest("GET");
long epochTime = ZonedDateTime.parse(CURRENT_TIME, RFC_1123_DATE_ TIME).toInstant().toEpochMilli(); long epochTime = ZonedDateTime.parse(CURRENT_TIME, RFC_1123_DATE_ TIME).toInstant().toEpochMilli();
servletRequest.setMethod("GET"); servletRequest.setMethod("GET");
servletRequest.addHeader("If-Modified-Since", "Wed, 09 Apr 2014 0 9:57:42 GMT; length=13774"); servletRequest.addHeader("If-Modified-Since", "Wed, 09 Apr 2014 0 9:57:42 GMT; length=13774");
assertThat(request.checkNotModified(epochTime)).isTrue(); assertThat(request.checkNotModified(epochTime)).isTrue();
assertThat(servletResponse.getStatus()).isEqualTo(304); assertThat(servletResponse.getStatus()).isEqualTo(304);
assertThat(servletResponse.getDateHeader("Last-Modified") / 1000) .isEqualTo(epochTime / 1000); assertThat(servletResponse.getDateHeader("Last-Modified") / 1000) .isEqualTo(epochTime / 1000);
} }
@ParameterizedHttpMethodTest @Test
void checkModifiedTimestampWithLengthPart(String method) { void checkModifiedTimestampWithLengthPart() {
setUpRequest(method); setUpRequest("GET");
long epochTime = ZonedDateTime.parse(CURRENT_TIME, RFC_1123_DATE_ TIME).toInstant().toEpochMilli(); long epochTime = ZonedDateTime.parse(CURRENT_TIME, RFC_1123_DATE_ TIME).toInstant().toEpochMilli();
servletRequest.setMethod("GET");
servletRequest.addHeader("If-Modified-Since", "Wed, 08 Apr 2014 0 9:57:42 GMT; length=13774"); servletRequest.addHeader("If-Modified-Since", "Wed, 08 Apr 2014 0 9:57:42 GMT; length=13774");
assertThat(request.checkNotModified(epochTime)).isFalse(); assertThat(request.checkNotModified(epochTime)).isFalse();
assertThat(servletResponse.getStatus()).isEqualTo(200); assertThat(servletResponse.getStatus()).isEqualTo(200);
assertThat(servletResponse.getDateHeader("Last-Modified") / 1000) .isEqualTo(epochTime / 1000); assertThat(servletResponse.getDateHeader("Last-Modified") / 1000) .isEqualTo(epochTime / 1000);
} }
@ParameterizedHttpMethodTest @Test
void checkNotModifiedTimestampConditionalPut(String method) { void checkNotModifiedTimestampConditionalPut() {
setUpRequest(method); setUpRequest("PUT");
long currentEpoch = currentDate.getTime(); long currentEpoch = currentDate.getTime();
long oneMinuteAgo = currentEpoch - (1000 * 60); long oneMinuteAgo = currentEpoch - (1000 * 60);
servletRequest.setMethod("PUT");
servletRequest.addHeader("If-UnModified-Since", currentEpoch); servletRequest.addHeader("If-UnModified-Since", currentEpoch);
assertThat(request.checkNotModified(oneMinuteAgo)).isFalse(); assertThat(request.checkNotModified(oneMinuteAgo)).isFalse();
assertThat(servletResponse.getStatus()).isEqualTo(200); assertThat(servletResponse.getStatus()).isEqualTo(200);
assertThat(servletResponse.getHeader("Last-Modified")).isNull(); assertThat(servletResponse.getHeader("Last-Modified")).isNull();
} }
@ParameterizedHttpMethodTest @Test
void checkNotModifiedTimestampConditionalPutConflict(String method) { void checkNotModifiedTimestampConditionalPutConflict() {
setUpRequest(method); setUpRequest("PUT");
long currentEpoch = currentDate.getTime(); long currentEpoch = currentDate.getTime();
long oneMinuteAgo = currentEpoch - (1000 * 60); long oneMinuteAgo = currentEpoch - (1000 * 60);
servletRequest.setMethod("PUT");
servletRequest.addHeader("If-UnModified-Since", oneMinuteAgo); servletRequest.addHeader("If-UnModified-Since", oneMinuteAgo);
assertThat(request.checkNotModified(currentEpoch)).isTrue(); assertThat(request.checkNotModified(currentEpoch)).isTrue();
assertThat(servletResponse.getStatus()).isEqualTo(412); assertThat(servletResponse.getStatus()).isEqualTo(412);
assertThat(servletResponse.getHeader("Last-Modified")).isNull(); assertThat(servletResponse.getHeader("Last-Modified")).isNull();
} }
@ParameterizedHttpMethodTest
void checkNotModifiedConditionalGet(String method) {
setUpRequest(method);
long currentEpoch = currentDate.getTime();
long oneMinuteAgo = currentEpoch - (1000 * 60);
servletRequest.addHeader("If-UnModified-Since", currentEpoch);
assertThat(request.checkNotModified(oneMinuteAgo)).isFalse();
assertThat(servletResponse.getStatus()).isEqualTo(200);
assertThat(servletResponse.getDateHeader("Last-Modified") / 1000)
.isEqualTo(oneMinuteAgo / 1000);
}
private void setUpRequest(String method) { private void setUpRequest(String method) {
this.servletRequest.setMethod(method); this.servletRequest.setMethod(method);
this.servletRequest.setRequestURI("https://example.org"); this.servletRequest.setRequestURI("https://example.org");
} }
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD) @Target(ElementType.METHOD)
@ParameterizedTest(name = "[{index}] {0}") @ParameterizedTest(name = "[{index}] {0}")
@ValueSource(strings = { "GET", "HEAD" }) @ValueSource(strings = { "GET", "HEAD" })
@interface ParameterizedHttpMethodTest { @interface ParameterizedHttpMethodTest {
 End of changes. 9 change blocks. 
15 lines changed or deleted 26 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)