|
@@ -92,6 +92,25 @@ public class ReactorContextTestExecutionListenerTests {
|
|
|
assertAuthentication(expectedAuthentication);
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void beforeTestMethodWhenExistingAuthenticationThenReactorContextHasOriginalAuthentication() throws Exception {
|
|
|
+ TestingAuthenticationToken expectedAuthentication = new TestingAuthenticationToken("user", "password", "ROLE_USER");
|
|
|
+ TestingAuthenticationToken contextHolder = new TestingAuthenticationToken("contextHolder", "password", "ROLE_USER");
|
|
|
+ TestSecurityContextHolder.setContext(new SecurityContextImpl(contextHolder));
|
|
|
+
|
|
|
+ this.listener.beforeTestMethod(this.testContext);
|
|
|
+
|
|
|
+ Mono<Authentication> authentication = Mono.just("any")
|
|
|
+ .flatMap(s -> ReactiveSecurityContextHolder.getContext()
|
|
|
+ .map(SecurityContext::getAuthentication)
|
|
|
+ )
|
|
|
+ .subscriberContext(ReactiveSecurityContextHolder.withAuthentication(expectedAuthentication));
|
|
|
+
|
|
|
+ StepVerifier.create(authentication)
|
|
|
+ .expectNext(expectedAuthentication)
|
|
|
+ .verifyComplete();
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
public void afterTestMethodWhenSecurityContextEmptyThenNoError() throws Exception {
|
|
|
this.listener.beforeTestMethod(this.testContext);
|