Как правильно тестировать запросы, требующие авторизацию, при использовании Cookie?
В своем проекте использую Spring 2.2.4, как вы понимаете есть методы, требующие авторизацию - в которых я получаю текущего пользователя из сессии - как это все организовать в тестах, понимаю что как то надо замокать секьюрити, но опыта в данной теме вообще никакого. Вот это метод получения текущего юзера из сессии:
public User getCurrentUser() throws Exception {
Authentication auth =
SecurityContextHolder.getContext().getAuthentication();
if (null == auth) {
throw new NotFoundException("");
}
Object obj = auth.getPrincipal();
String username = "";
if (obj instanceof UserDetails) {
username = ((UserDetails) obj).getUsername();
} else {
username = obj.toString();
}
User user = userRepository.findByEmail(username).get();
return user;
}
как мне все это лучше организовать?
хотелось бы сделать тесты подобного вида:
@Test
void findPostById() {
PostByIdApi postByIdApi = postService.findPostById(8);
Assertions.assertEquals(8, postByIdApi.getId());
Assertions.assertEquals("Rerum eos quam.", postByIdApi.getTitle());
}