| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | 
							- [[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:
 
- ====
 
- .Java
 
- [source,java,role="primary"]
 
- ----
 
- @RunWith(SpringRunner.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"]
 
- ----
 
- @RunWith(SpringRunner::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()
 
-     }
 
- }
 
- ----
 
- ====
 
 
  |