Como o @WebMvcTest funciona com o OAuth?
Só tive dificuldade para fazer meus testes de unidade de controladores funcionarem porque, na IMO, o que estáDoc Spring não é suficiente se estiver usando o OAuth. No meu caso, é o Oauth2 com JWT.
Eu tentei usar@WithMockUser
, @WithUserDetails
e até definir minha própria anotação com@WithSecurityContext
e um costumeUserSecurityContextFactory
mas sempre obtive usuário anônimo no UserSecurityContext quando a expressão de segurança era avaliada, independentemente do que eu definir o contexto de teste na minha fábrica ...
Proponho a solução que encontrei logo abaixo, mas como não tenho certeza que zombar do TokenService é o caminho mais eficiente / limpo a seguir, sinta-se à vontade para fornecer melhor.