После выпуска Spring Security 4 и улучшенной поддержки тестирования я хотел обновить текущие тесты ресурсов oauth2 для защиты Spring.
В настоящее время у меня есть вспомогательный класс, который устанавливает OAuth2RestTemplate с помощью ResourceOwnerPasswordResourceDetails с тестом ClientId, подключающимся к фактическому AccessTokenUri, чтобы запросить действительный токен для моих тестов. Этот resttemplate затем используется для запросов в моем @WebIntegrationTest s.
Я хотел бы отказаться от зависимости от фактического AuthorizationServer и использовать действительные (если ограниченные) учетные данные пользователя в своих тестах, воспользовавшись новой поддержкой тестирования в Spring Security 4.
До сих пор все мои попытки использовать @WithMockUser, @WithSecurityContext, SecurityMockMvcConfigurers.springSecurity() и SecurityMockMvcRequestPostProcessors.* не смогли выполнить аутентифицированные вызовы через MockMvc, и я не могу найти таких рабочих примеров в Spring примеры проектов.
Может ли кто-нибудь помочь мне протестировать мой сервер ресурсов oauth2 с каким-то издеваемыми учетными данными, все еще проверяя введенные ограничения безопасности?
** РЕДАКТИРОВАТЬ ** Пример кода можно найти здесь: https://github.com/timtebeek/resource-server-testing Для каждого из тестовых классов я понимаю, почему это не сработает, но я ищу способы, которые позволили бы мне легко проверить настройку безопасности.
Теперь я думаю о создании очень разрешительного OAuthServer под src/test/java, что может немного помочь. Есть ли у кого-нибудь другие предложения?