parent
88e6544d9d
commit
6739ca82ce
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2022 the original author or authors.
|
* Copyright 2002-2023 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -22,7 +22,7 @@ import org.assertj.core.api.Assertions.assertThat
|
||||||
import org.assertj.core.api.Fail
|
import org.assertj.core.api.Fail
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.mockito.BDDMockito
|
import org.mockito.BDDMockito.*
|
||||||
import org.mockito.Mockito
|
import org.mockito.Mockito
|
||||||
import org.springframework.transaction.*
|
import org.springframework.transaction.*
|
||||||
import org.springframework.transaction.reactive.TransactionContext
|
import org.springframework.transaction.reactive.TransactionContext
|
||||||
|
@ -83,8 +83,8 @@ abstract class AbstractCoroutinesTransactionAspectTests {
|
||||||
val status = Mockito.mock(ReactiveTransaction::class.java)
|
val status = Mockito.mock(ReactiveTransaction::class.java)
|
||||||
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
||||||
// expect a transaction
|
// expect a transaction
|
||||||
BDDMockito.given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
||||||
BDDMockito.given(rtm.commit(status)).willReturn(Mono.empty())
|
given(rtm.commit(status)).willReturn(Mono.empty())
|
||||||
val tb = DefaultTestBean()
|
val tb = DefaultTestBean()
|
||||||
val itb = advised(tb, rtm, tas) as TestBean
|
val itb = advised(tb, rtm, tas) as TestBean
|
||||||
runBlocking {
|
runBlocking {
|
||||||
|
@ -106,8 +106,8 @@ abstract class AbstractCoroutinesTransactionAspectTests {
|
||||||
val status = Mockito.mock(ReactiveTransaction::class.java)
|
val status = Mockito.mock(ReactiveTransaction::class.java)
|
||||||
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
||||||
// expect a transaction
|
// expect a transaction
|
||||||
BDDMockito.given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
||||||
BDDMockito.given(rtm.commit(status)).willReturn(Mono.empty())
|
given(rtm.commit(status)).willReturn(Mono.empty())
|
||||||
val tb = DefaultTestBean()
|
val tb = DefaultTestBean()
|
||||||
val itb = advised(tb, rtm, arrayOf(tas1, tas2)) as TestBean
|
val itb = advised(tb, rtm, arrayOf(tas1, tas2)) as TestBean
|
||||||
runBlocking {
|
runBlocking {
|
||||||
|
@ -128,8 +128,8 @@ abstract class AbstractCoroutinesTransactionAspectTests {
|
||||||
val status = Mockito.mock(ReactiveTransaction::class.java)
|
val status = Mockito.mock(ReactiveTransaction::class.java)
|
||||||
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
||||||
// expect a transaction
|
// expect a transaction
|
||||||
BDDMockito.given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
||||||
BDDMockito.given(rtm.commit(status)).willReturn(Mono.empty())
|
given(rtm.commit(status)).willReturn(Mono.empty())
|
||||||
val tb = DefaultTestBean()
|
val tb = DefaultTestBean()
|
||||||
val itb = advised(tb, rtm, tas) as TestBean
|
val itb = advised(tb, rtm, tas) as TestBean
|
||||||
runBlocking {
|
runBlocking {
|
||||||
|
@ -198,17 +198,17 @@ abstract class AbstractCoroutinesTransactionAspectTests {
|
||||||
val status = Mockito.mock(ReactiveTransaction::class.java)
|
val status = Mockito.mock(ReactiveTransaction::class.java)
|
||||||
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
||||||
// Gets additional call(s) from TransactionControl
|
// Gets additional call(s) from TransactionControl
|
||||||
BDDMockito.given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
||||||
val tex = TransactionSystemException("system exception")
|
val tex = TransactionSystemException("system exception")
|
||||||
if (rollbackException) {
|
if (rollbackException) {
|
||||||
if (shouldRollback) {
|
if (shouldRollback) {
|
||||||
BDDMockito.given(rtm.rollback(status)).willReturn(Mono.error(tex))
|
given(rtm.rollback(status)).willReturn(Mono.error(tex))
|
||||||
} else {
|
} else {
|
||||||
BDDMockito.given(rtm.commit(status)).willReturn(Mono.error(tex))
|
given(rtm.commit(status)).willReturn(Mono.error(tex))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
BDDMockito.given(rtm.commit(status)).willReturn(Mono.empty())
|
given(rtm.commit(status)).willReturn(Mono.empty())
|
||||||
BDDMockito.given(rtm.rollback(status)).willReturn(Mono.empty())
|
given(rtm.rollback(status)).willReturn(Mono.empty())
|
||||||
}
|
}
|
||||||
val tb = DefaultTestBean()
|
val tb = DefaultTestBean()
|
||||||
val itb = advised(tb, rtm, tas) as TestBean
|
val itb = advised(tb, rtm, tas) as TestBean
|
||||||
|
@ -246,7 +246,7 @@ abstract class AbstractCoroutinesTransactionAspectTests {
|
||||||
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
||||||
// Expect a transaction
|
// Expect a transaction
|
||||||
val ex = CannotCreateTransactionException("foobar")
|
val ex = CannotCreateTransactionException("foobar")
|
||||||
BDDMockito.given(rtm.getReactiveTransaction(txatt)).willThrow(ex)
|
given(rtm.getReactiveTransaction(txatt)).willThrow(ex)
|
||||||
val tb: DefaultTestBean = object : DefaultTestBean() {
|
val tb: DefaultTestBean = object : DefaultTestBean() {
|
||||||
override suspend fun getName(): String? {
|
override suspend fun getName(): String? {
|
||||||
throw UnsupportedOperationException(
|
throw UnsupportedOperationException(
|
||||||
|
@ -279,10 +279,10 @@ abstract class AbstractCoroutinesTransactionAspectTests {
|
||||||
// No attributes for m2
|
// No attributes for m2
|
||||||
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
val rtm = Mockito.mock(ReactiveTransactionManager::class.java)
|
||||||
val status = Mockito.mock(ReactiveTransaction::class.java)
|
val status = Mockito.mock(ReactiveTransaction::class.java)
|
||||||
BDDMockito.given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
given(rtm.getReactiveTransaction(txatt)).willReturn(Mono.just(status))
|
||||||
val ex = UnexpectedRollbackException("foobar")
|
val ex = UnexpectedRollbackException("foobar")
|
||||||
BDDMockito.given(rtm.commit(status)).willReturn(Mono.error(ex))
|
given(rtm.commit(status)).willReturn(Mono.error(ex))
|
||||||
BDDMockito.given(rtm.rollback(status)).willReturn(Mono.empty())
|
given(rtm.rollback(status)).willReturn(Mono.empty())
|
||||||
val tb = DefaultTestBean()
|
val tb = DefaultTestBean()
|
||||||
val itb = advised(tb, rtm, tas) as TestBean
|
val itb = advised(tb, rtm, tas) as TestBean
|
||||||
val name = "new name"
|
val name = "new name"
|
||||||
|
|
|
@ -329,6 +329,7 @@ public class CacheControl {
|
||||||
* Adding a {@link #maxAge(Duration) max-age} directive is strongly advised
|
* Adding a {@link #maxAge(Duration) max-age} directive is strongly advised
|
||||||
* to enforce the actual freshness lifetime.
|
* to enforce the actual freshness lifetime.
|
||||||
* @return {@code this}, to facilitate method chaining
|
* @return {@code this}, to facilitate method chaining
|
||||||
|
* @since 6.0.5
|
||||||
* @see <a href="https://tools.ietf.org/html/rfc8246">rfc8246</a>
|
* @see <a href="https://tools.ietf.org/html/rfc8246">rfc8246</a>
|
||||||
*/
|
*/
|
||||||
public CacheControl immutable() {
|
public CacheControl immutable() {
|
||||||
|
|
|
@ -74,6 +74,7 @@ public class MethodArgumentNotValidException extends BindException implements Er
|
||||||
* Constructor for {@link MethodArgumentNotValidException}.
|
* Constructor for {@link MethodArgumentNotValidException}.
|
||||||
* @param executable the executable that failed validation
|
* @param executable the executable that failed validation
|
||||||
* @param bindingResult the results of the validation
|
* @param bindingResult the results of the validation
|
||||||
|
* @since 6.0.5
|
||||||
*/
|
*/
|
||||||
public MethodArgumentNotValidException(Executable executable, BindingResult bindingResult) {
|
public MethodArgumentNotValidException(Executable executable, BindingResult bindingResult) {
|
||||||
super(bindingResult);
|
super(bindingResult);
|
||||||
|
|
|
@ -24,7 +24,6 @@ import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.mockito.BDDMockito;
|
|
||||||
|
|
||||||
import org.springframework.core.ParameterizedTypeReference;
|
import org.springframework.core.ParameterizedTypeReference;
|
||||||
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
@ -37,6 +36,7 @@ import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.testfixture.http.MockHttpOutputMessage;
|
import org.springframework.web.testfixture.http.MockHttpOutputMessage;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.BDDMockito.given;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -187,9 +187,9 @@ public class ResourceRegionHttpMessageConverterTests {
|
||||||
public void applicationOctetStreamDefaultContentType() throws Exception {
|
public void applicationOctetStreamDefaultContentType() throws Exception {
|
||||||
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
|
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
|
||||||
ClassPathResource body = mock();
|
ClassPathResource body = mock();
|
||||||
BDDMockito.given(body.getFilename()).willReturn("spring.dat");
|
given(body.getFilename()).willReturn("spring.dat");
|
||||||
BDDMockito.given(body.contentLength()).willReturn(12L);
|
given(body.contentLength()).willReturn(12L);
|
||||||
BDDMockito.given(body.getInputStream()).willReturn(new ByteArrayInputStream("Spring Framework".getBytes()));
|
given(body.getInputStream()).willReturn(new ByteArrayInputStream("Spring Framework".getBytes()));
|
||||||
HttpRange range = HttpRange.createByteRange(0, 5);
|
HttpRange range = HttpRange.createByteRange(0, 5);
|
||||||
ResourceRegion resourceRegion = range.toResourceRegion(body);
|
ResourceRegion resourceRegion = range.toResourceRegion(body);
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@ import org.assertj.core.api.Assertions.assertThatThrownBy
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.mockito.ArgumentMatchers.*
|
import org.mockito.ArgumentMatchers.*
|
||||||
import org.mockito.BDDMockito
|
import org.mockito.BDDMockito.given
|
||||||
import org.mockito.Mockito
|
import org.mockito.Mockito.mock
|
||||||
import org.springframework.core.MethodParameter
|
import org.springframework.core.MethodParameter
|
||||||
import org.springframework.core.annotation.SynthesizingMethodParameter
|
import org.springframework.core.annotation.SynthesizingMethodParameter
|
||||||
import org.springframework.web.bind.MethodArgumentNotValidException
|
import org.springframework.web.bind.MethodArgumentNotValidException
|
||||||
|
@ -51,7 +51,7 @@ class ModelAttributeMethodProcessorKotlinTests {
|
||||||
fun setup() {
|
fun setup() {
|
||||||
container = ModelAndViewContainer()
|
container = ModelAndViewContainer()
|
||||||
processor = ModelAttributeMethodProcessor(false)
|
processor = ModelAttributeMethodProcessor(false)
|
||||||
var method = ModelAttributeHandler::class.java.getDeclaredMethod("test",Param::class.java)
|
val method = ModelAttributeHandler::class.java.getDeclaredMethod("test", Param::class.java)
|
||||||
param = SynthesizingMethodParameter(method, 0)
|
param = SynthesizingMethodParameter(method, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,8 +59,8 @@ class ModelAttributeMethodProcessorKotlinTests {
|
||||||
fun resolveArgumentWithValue() {
|
fun resolveArgumentWithValue() {
|
||||||
val mockRequest = MockHttpServletRequest().apply { addParameter("a", "b") }
|
val mockRequest = MockHttpServletRequest().apply { addParameter("a", "b") }
|
||||||
val requestWithParam = ServletWebRequest(mockRequest)
|
val requestWithParam = ServletWebRequest(mockRequest)
|
||||||
val factory = Mockito.mock<WebDataBinderFactory>()
|
val factory = mock<WebDataBinderFactory>()
|
||||||
BDDMockito.given(factory.createBinder(any(), any(), eq("param")))
|
given(factory.createBinder(any(), any(), eq("param")))
|
||||||
.willAnswer { WebRequestDataBinder(it.getArgument(1)) }
|
.willAnswer { WebRequestDataBinder(it.getArgument(1)) }
|
||||||
assertThat(processor.resolveArgument(this.param, container, requestWithParam, factory)).isEqualTo(Param("b"))
|
assertThat(processor.resolveArgument(this.param, container, requestWithParam, factory)).isEqualTo(Param("b"))
|
||||||
}
|
}
|
||||||
|
@ -69,8 +69,8 @@ class ModelAttributeMethodProcessorKotlinTests {
|
||||||
fun throwMethodArgumentNotValidExceptionWithNull() {
|
fun throwMethodArgumentNotValidExceptionWithNull() {
|
||||||
val mockRequest = MockHttpServletRequest().apply { addParameter("a", null) }
|
val mockRequest = MockHttpServletRequest().apply { addParameter("a", null) }
|
||||||
val requestWithParam = ServletWebRequest(mockRequest)
|
val requestWithParam = ServletWebRequest(mockRequest)
|
||||||
val factory = Mockito.mock<WebDataBinderFactory>()
|
val factory = mock<WebDataBinderFactory>()
|
||||||
BDDMockito.given(factory.createBinder(any(), any(), eq("param")))
|
given(factory.createBinder(any(), any(), eq("param")))
|
||||||
.willAnswer { WebRequestDataBinder(it.getArgument(1)) }
|
.willAnswer { WebRequestDataBinder(it.getArgument(1)) }
|
||||||
assertThatThrownBy {
|
assertThatThrownBy {
|
||||||
processor.resolveArgument(this.param, container, requestWithParam, factory)
|
processor.resolveArgument(this.param, container, requestWithParam, factory)
|
||||||
|
@ -80,8 +80,8 @@ class ModelAttributeMethodProcessorKotlinTests {
|
||||||
|
|
||||||
private data class Param(val a: String)
|
private data class Param(val a: String)
|
||||||
|
|
||||||
@Suppress("UNUSED_PARAMETER")
|
|
||||||
private class ModelAttributeHandler {
|
private class ModelAttributeHandler {
|
||||||
|
@Suppress("UNUSED_PARAMETER")
|
||||||
fun test(param: Param) { }
|
fun test(param: Param) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ package org.springframework.web.server
|
||||||
|
|
||||||
import org.assertj.core.api.Assertions.assertThat
|
import org.assertj.core.api.Assertions.assertThat
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.mockito.BDDMockito
|
import org.mockito.BDDMockito.given
|
||||||
import org.mockito.Mockito
|
import org.mockito.Mockito
|
||||||
import org.springframework.web.testfixture.http.server.reactive.MockServerHttpRequest
|
import org.springframework.web.testfixture.http.server.reactive.MockServerHttpRequest
|
||||||
import org.springframework.web.testfixture.server.MockServerWebExchange
|
import org.springframework.web.testfixture.server.MockServerWebExchange
|
||||||
|
@ -35,7 +35,7 @@ class CoWebFilterTests {
|
||||||
val exchange = MockServerWebExchange.from(MockServerHttpRequest.get("https://example.com"))
|
val exchange = MockServerWebExchange.from(MockServerHttpRequest.get("https://example.com"))
|
||||||
|
|
||||||
val chain = Mockito.mock(WebFilterChain::class.java)
|
val chain = Mockito.mock(WebFilterChain::class.java)
|
||||||
BDDMockito.given(chain.filter(exchange)).willReturn(Mono.empty())
|
given(chain.filter(exchange)).willReturn(Mono.empty())
|
||||||
|
|
||||||
val filter = MyCoWebFilter()
|
val filter = MyCoWebFilter()
|
||||||
val result = filter.filter(exchange, chain)
|
val result = filter.filter(exchange, chain)
|
||||||
|
|
Loading…
Reference in New Issue