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