Как макет теста REST Controller, который использует OAUTH2 - PullRequest
0 голосов
/ 22 мая 2018

Как мне проверить контроллер REST, который использует Oauth2 (клиент)?Мне нужно издеваться над oauth2, и я застрял.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 12 октября 2018

Надеюсь, что этот ответ может помочь.

На самом деле, при использовании OAuth2 с ResourceServerConfiguration у вас будет защита без сохранения состояния , которая заранее отбросит любые усилия по насмешке над пользователями..

Что вы должны сделать, чтобы высмеивать пользователей:

  1. Создать TestOnly загруженную ResourceServerConfiguration, которая переопределяет вашу стандартную таким образом:
    public class TestConfiguration extends ResourceServerConfiguration {
      @Override
      public void configure(ResourceServerSecurityConfigurer res) {
        res.stateless(false);
        super.configure(resources);
      }
    }
добавить @WithMockUser к тестам:
    @Test
    @WithMockUser(username ="username_admin", authorities = {"I_AM_LEGEND"})
    public void myTestWithUser() throws Exception {
     this.mvc.perform(get("/getUsername")).andExpect(content().text().contains("username_admin"));
    }

    @Test
    public void myTestWithNoUser() throws Exception {
     this.mvc.perform(get("/getUsername")).andExpect(status().isUnauthorized());
    }

ПРИМЕЧАНИЕ: я написал код из памяти

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...