Нужна помощь в тестировании контроллера REST, который требует oauth2 - PullRequest
0 голосов
/ 21 мая 2018

Я следую этому примеру, чтобы проверить мой REST-контроллер с oauth2. Тестирование API с защитой OAuth с помощью Spring MVC

Код, на котором я застрял, - это строка .with(httpBasic("fooClientIdPassword","secret")) Кто-нибудь знает, откуда взялся метод httpBasic?Как это создается и т. Д.?Спасибо.

private String obtainAccessToken(String username, String password) throws Exception {

    MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
    params.add("grant_type", "password");
    params.add("client_id", "fooClientIdPassword");
    params.add("username", username);
    params.add("password", password);

    ResultActions result 
      = mockMvc.perform(post("/oauth/token")
               .params(params)
               .with(httpBasic("fooClientIdPassword","secret"))
               .accept("application/json;charset=UTF-8"))
               .andExpect(status().isOk())
               .andExpect(content().contentType("application/json;charset=UTF-8"));

    String resultString = result.andReturn().getResponse().getContentAsString();

    JacksonJsonParser jsonParser = new JacksonJsonParser();
    return jsonParser.parseMap(resultString).get("access_token").toString();
}

1 Ответ

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

Метод httpBasic происходит от SecurityMockMvcRequestPostProcessors

Я полагаю, вы не можете найти его, поскольку вы не импортировали зависимость в свой проект.Как только вы добавите

<dependency>
  <groupId>org.springframework.security</groupId>
  <artifactId>spring-security-test</artifactId>
  <scope>test</scope>
</dependency>

в ваш pom, вы сможете импортировать и использовать его.

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