Class WithSecurityContextTestExecutionListener

java.lang.Object
org.springframework.test.context.support.AbstractTestExecutionListener
org.springframework.security.test.context.support.WithSecurityContextTestExecutionListener
All Implemented Interfaces:
org.springframework.core.Ordered, org.springframework.test.context.TestExecutionListener

public class WithSecurityContextTestExecutionListener extends org.springframework.test.context.support.AbstractTestExecutionListener
A TestExecutionListener that will find annotations that are annotated with WithSecurityContext on a test method or at the class level. If found, the WithSecurityContext.factory() is used to create a SecurityContext that will be used with this test. If using with MockMvc the SecurityMockMvcRequestPostProcessors.testSecurityContext() needs to be used too.
Since:
4.0
See Also:
  • Constructor Details

    • WithSecurityContextTestExecutionListener

      public WithSecurityContextTestExecutionListener()
  • Method Details

    • beforeTestMethod

      public void beforeTestMethod(org.springframework.test.context.TestContext testContext)
      Sets up the SecurityContext for each test method. First the specific method is inspected for a WithSecurityContext or Annotation that has WithSecurityContext on it. If that is not found, the class is inspected. If still not found, then no SecurityContext is populated.
      Specified by:
      beforeTestMethod in interface org.springframework.test.context.TestExecutionListener
      Overrides:
      beforeTestMethod in class org.springframework.test.context.support.AbstractTestExecutionListener
    • beforeTestExecution

      public void beforeTestExecution(org.springframework.test.context.TestContext testContext)
      If configured before test execution sets the SecurityContext
      Specified by:
      beforeTestExecution in interface org.springframework.test.context.TestExecutionListener
      Overrides:
      beforeTestExecution in class org.springframework.test.context.support.AbstractTestExecutionListener
      Since:
      5.1
    • afterTestMethod

      public void afterTestMethod(org.springframework.test.context.TestContext testContext)
      Clears out the TestSecurityContextHolder and the SecurityContextHolder after each test method.
      Specified by:
      afterTestMethod in interface org.springframework.test.context.TestExecutionListener
      Overrides:
      afterTestMethod in class org.springframework.test.context.support.AbstractTestExecutionListener
    • getOrder

      public int getOrder()
      Returns 10000.
      Specified by:
      getOrder in interface org.springframework.core.Ordered
      Overrides:
      getOrder in class org.springframework.test.context.support.AbstractTestExecutionListener