Annotation Type WithMockUser


@Target({METHOD,TYPE}) @Retention(RUNTIME) @Inherited @Documented @WithSecurityContext(factory=org.springframework.security.test.context.support.WithMockUserSecurityContextFactory.class) public @interface WithMockUser
When used with WithSecurityContextTestExecutionListener this annotation can be added to a test method to emulate running with a mocked user. In order to work with MockMvc The SecurityContext that is used will have the following properties:
  • The SecurityContext created with be that of SecurityContextHolder.createEmptyContext()
  • It will be populated with an UsernamePasswordAuthenticationToken that uses the username of either value() or username(), GrantedAuthority that are specified by roles(), and a password specified by password().
Since:
4.0
Author:
Rob Winch
See Also:
  • Element Details

    • value

      String value
      Convenience mechanism for specifying the username. The default is "user". If username() is specified it will be used instead of value()
      Returns:
      Default:
      "user"
    • username

      String username
      The username to be used. Note that value() is a synonym for username(), but if username() is specified it will take precedence.
      Returns:
      Default:
      ""
    • roles

      String[] roles

      The roles to use. The default is "USER". A GrantedAuthority will be created for each value within roles. Each value in roles will automatically be prefixed with "ROLE_". For example, the default will result in "ROLE_USER" being used.

      If authorities() is specified this property cannot be changed from the default.

      Returns:
      Default:
      {"USER"}
    • authorities

      String[] authorities

      The authorities to use. A GrantedAuthority will be created for each value.

      If this property is specified then roles() is not used. This differs from roles() in that it does not prefix the values passed in automatically.

      Returns:
      Default:
      {}
    • password

      String password
      The password to be used. The default is "password".
      Returns:
      Default:
      "password"