Тестирование безопасной пружины mvc restful webservice
У меня есть безопасный веб-сервис, который я пытался протестировать. Сервис выглядит примерно так:
@GetMapping(value= {"/v1/getSomeStuff"})
public SomeResp getSomeStuff(final UsernamePasswordAuthenticationToken token, @RequestParam(name="searchString", required=true) String request) {
//do some stuff in here
}
Службы защищены с помощью Spring Security, и я пытаюсь написать ИТ-тест, который предоставит требуемый UsernamePasswordAuthenticationToken. Я пытался сделать это:
@Test
@Sql(scripts = { "/db-scripts/company-script.sql","/db-scripts/user-script.sql" })
@WithUserDetails(value="testuser")
public void testGetSomeStuff() {
//test some stuff
getRestTemplate().getForEntity("http://localhost:" + port + "/v1/getSomeStuff?searchString=foo", SomeResp.class);
}
Сценарии Sql выполняются правильно, и вызывается служба сведений о пользователе, но токен не передается службе. Я понимаю (сейчас), что @WithUserDetails для безопасности метода тестирования и не будет делать то, что я хочу. У меня такой вопрос: есть ли другой метод тестирования защищенных веб-сервисов с использованием различных классов весеннего тестирования?