Как протестировать с помощью MockMVC и CSRF в Spring Boot 3JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Как протестировать с помощью MockMVC и CSRF в Spring Boot 3

Сообщение Гость »


У меня есть тест SpringBoot MockMVC, в котором я хочу протестировать конечную точку публикации следующим образом:

@AutoConfigureTestEntityManager @SpringBootTest @AutoConfigureMockMvc класс MyControllerTest { @Autowired частный MockMvc @Тест void postShouldReturnOkForValidInput() выдает исключение { ockMvc.perform(сообщение(Endpoints.LOG) .content(/*Некоторые действительные данные*/) .contentType(MediaType.APPLICATION_JSON) ).andExpect(status().isOk()); } } Однако этот тест не пройден из-за защиты CSRF. Теперь я знаю, что могу отключить его, и тогда тесты заработают, но я бы предпочел настроить свои тесты так, чтобы они передавали правильный токен CSRF.

Я нашел много источников, в которых говорится, что это должно работать следующим образом:

import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.*; @AutoConfigureTestEntityManager @SpringBootTest @AutoConfigureMockMvc класс MyControllerTest { @Autowired частный MockMvc @Тест void postShouldReturnOkForValidInput() выдает исключение { ockMvc.perform(сообщение(Endpoints.LOG) .with(csrf()) .content(/*Некоторые действительные данные*/) .contentType(MediaType.APPLICATION_JSON) ).andExpect(status().isOk()); } } Проблема в том, что этого не происходит, потому что импорт не удается разрешить. В частности, он говорит, что не может выполнить «тест» (после import static org.springframework.security.). Я проверил, и у меня есть реализация зависимости 'org.springframework.boot:spring-boot-starter-security'. Фактически, импортируйте статический org.springframework.security, но среди содержащихся в нем пакетов просто нет test.

Теперь я знаю, что в Spring 3 многое изменилось. В частности, я использую версию 3.1.4. Это причина? Функция csrf() переместилась куда-то еще? Если да, то как правильно передать токен CSRF в Spring Boot 3? А если нет, то что я здесь делаю не так?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как протестировать с помощью MockMVC и CSRF в Spring Boot 3
    Гость » » в форуме JAVA
    0 Ответы
    46 Просмотры
    Последнее сообщение Гость
  • Получение «недопустимого токена CSRF», найденного в приложении Spring Boot, хотя CSRF отключена в Spring SecurityConfig
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Неверная ошибка токена Spring Boot CSRF, несмотря на отключение CSRF
    Anonymous » » в форуме JAVA
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • MockMvc больше не обрабатывает символы UTF-8 с помощью Spring Boot 2.2.0.RELEASE
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Проблема кодирования в тестах Spring Boot MockMvc
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»