Почему результат Spring MockMvc не содержит cookie?
Я пытаюсь выполнить модульное тестирование входа в систему и безопасности в моем REST API, поэтому я пытаюсь смоделировать реальные последовательности запросов как можно ближе.
Мой первый запрос будет:
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).
addFilters(springSecurityFilterChain).build();
this.mapper = new ObjectMapper();
....
MvcResult result=mockMvc.perform(get("/login/csrf")).andExpect(status().is(200)).andReturn();
Cookie[] cookies = result.getResponse().getCookies();
(Смотрите полный класс наPastebin).
Я пытаюсь получить cookie здесь, чтобы иметь возможность войти с полученным токеном CSRF позже, ноcookies
массив пуст!
Однако, если я запускаю свое приложение и звоню
curl -i http://localhost:8080/login/csrf
Я возвращаю заголовок Set-Cookie и могу использовать этот cookie (и токен CSRF) позже для аутентификации.
Итак, вопрос: как мне заставить MockMvc вернуть мне cookie?