[[test-erms]] = Testing Method Security For example, we can test our example from xref:reactive/authorization/method.adoc#jc-erms[EnableReactiveMethodSecurity] by using the same setup and annotations that we used in xref:servlet/test/method.adoc#test-method[Testing Method Security]. The following minimal sample shows what we can do: [tabs] ====== Java:: + [source,java,role="primary"] ---- @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = HelloWebfluxMethodApplication.class) public class HelloWorldMessageServiceTests { @Autowired HelloWorldMessageService messages; @Test public void messagesWhenNotAuthenticatedThenDenied() { StepVerifier.create(this.messages.findMessage()) .expectError(AccessDeniedException.class) .verify(); } @Test @WithMockUser public void messagesWhenUserThenDenied() { StepVerifier.create(this.messages.findMessage()) .expectError(AccessDeniedException.class) .verify(); } @Test @WithMockUser(roles = "ADMIN") public void messagesWhenAdminThenOk() { StepVerifier.create(this.messages.findMessage()) .expectNext("Hello World!") .verifyComplete(); } } ---- Kotlin:: + [source,kotlin,role="secondary"] ---- @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = [HelloWebfluxMethodApplication::class]) class HelloWorldMessageServiceTests { @Autowired lateinit var messages: HelloWorldMessageService @Test fun messagesWhenNotAuthenticatedThenDenied() { StepVerifier.create(messages.findMessage()) .expectError(AccessDeniedException::class.java) .verify() } @Test @WithMockUser fun messagesWhenUserThenDenied() { StepVerifier.create(messages.findMessage()) .expectError(AccessDeniedException::class.java) .verify() } @Test @WithMockUser(roles = ["ADMIN"]) fun messagesWhenAdminThenOk() { StepVerifier.create(messages.findMessage()) .expectNext("Hello World!") .verifyComplete() } } ---- ======