mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Merge branch '2.1.x' into 2.2.x
Closes gh-19313
This commit is contained in:
commit
ed571bab24
@ -17,6 +17,7 @@
|
||||
package org.springframework.boot.actuate.endpoint.invoker.cache;
|
||||
|
||||
import java.security.Principal;
|
||||
import java.time.Duration;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@ -49,6 +50,8 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
*/
|
||||
class CachingOperationInvokerTests {
|
||||
|
||||
private static final long CACHE_TTL = Duration.ofHours(1).toMillis();
|
||||
|
||||
@Test
|
||||
void createInstanceWithTtlSetToZero() {
|
||||
assertThatIllegalArgumentException()
|
||||
@ -74,7 +77,7 @@ class CachingOperationInvokerTests {
|
||||
MonoOperationInvoker.invocations = 0;
|
||||
MonoOperationInvoker target = new MonoOperationInvoker();
|
||||
InvocationContext context = new InvocationContext(mock(SecurityContext.class), Collections.emptyMap());
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, 500L);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
|
||||
Object response = ((Mono<?>) invoker.invoke(context)).block();
|
||||
Object cachedResponse = ((Mono<?>) invoker.invoke(context)).block();
|
||||
assertThat(MonoOperationInvoker.invocations).isEqualTo(1);
|
||||
@ -86,7 +89,7 @@ class CachingOperationInvokerTests {
|
||||
FluxOperationInvoker.invocations = 0;
|
||||
FluxOperationInvoker target = new FluxOperationInvoker();
|
||||
InvocationContext context = new InvocationContext(mock(SecurityContext.class), Collections.emptyMap());
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, 500L);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
|
||||
Object response = ((Flux<?>) invoker.invoke(context)).blockLast();
|
||||
Object cachedResponse = ((Flux<?>) invoker.invoke(context)).blockLast();
|
||||
assertThat(FluxOperationInvoker.invocations).isEqualTo(1);
|
||||
@ -98,7 +101,7 @@ class CachingOperationInvokerTests {
|
||||
Object expected = new Object();
|
||||
InvocationContext context = new InvocationContext(mock(SecurityContext.class), parameters);
|
||||
given(target.invoke(context)).willReturn(expected);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, 500L);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
|
||||
Object response = invoker.invoke(context);
|
||||
assertThat(response).isSameAs(expected);
|
||||
verify(target, times(1)).invoke(context);
|
||||
@ -115,7 +118,7 @@ class CachingOperationInvokerTests {
|
||||
parameters.put("something", null);
|
||||
InvocationContext context = new InvocationContext(mock(SecurityContext.class), parameters);
|
||||
given(target.invoke(context)).willReturn(new Object());
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, 500L);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
|
||||
invoker.invoke(context);
|
||||
invoker.invoke(context);
|
||||
invoker.invoke(context);
|
||||
@ -130,7 +133,7 @@ class CachingOperationInvokerTests {
|
||||
given(securityContext.getPrincipal()).willReturn(mock(Principal.class));
|
||||
InvocationContext context = new InvocationContext(securityContext, parameters);
|
||||
given(target.invoke(context)).willReturn(new Object());
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, 500L);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
|
||||
invoker.invoke(context);
|
||||
invoker.invoke(context);
|
||||
invoker.invoke(context);
|
||||
@ -164,7 +167,7 @@ class CachingOperationInvokerTests {
|
||||
Collections.emptyMap());
|
||||
given(target.invoke(contextV2)).willReturn(expectedV2);
|
||||
given(target.invoke(contextV3)).willReturn(expectedV3);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, 500L);
|
||||
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
|
||||
Object response = invoker.invoke(contextV2);
|
||||
assertThat(response).isSameAs(expectedV2);
|
||||
verify(target, times(1)).invoke(contextV2);
|
||||
|
Loading…
Reference in New Issue
Block a user