Annotation Interface WithOpaqueToken
@Target({METHOD,TYPE})
@Retention(RUNTIME)
@Inherited
@Documented
@WithSecurityContext(factory=AuthenticationFactory.class)
public @interface WithOpaqueToken
Annotation to setup test
SecurityContext with an Authentication instantiated by the (Reactive)OpaqueTokenAuthenticationConverter in the
security conf. Usage on tests decorated with @AutoConfigureAddonsSecurity or @AutoConfigureAddonsWebSecurity::
@Test
@WithOpaqueToken("ch4mp_auth0.json")
public void test() {
...
}
For usage with @ParameterizedTest, you'll need a @MethodSource in a test running with @TestInstance(Lifecycle.PER_CLASS).
Authentication instance should be injected in the test with @ParameterizedAuthentication.
@Autowired
WithOpaqueToken.AuthenticationFactory authFactory;
@ParameterizedTest
@MethodSource("authSource")
void givenUserIsPersona_whenGetGreet_thenReturnsGreeting(@ParameterizedAuthentication Authentication auth) {
...
}
Stream<AbstractAuthenticationToken> authSource() {
return authFactory.authenticationsFrom("ch4mp.json", "tonton-pirate.json");
}
- Author:
- Jérôme Wacongne <ch4mp@c4-soft.com>
-
Nested Class Summary
Nested Classes -
Optional Element Summary
Optional Elements