Тест Spring Boot CORS JUnit завершается сбоем, пока Curl работаетJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Тест Spring Boot CORS JUnit завершается сбоем, пока Curl работает

Сообщение Anonymous »

Соответствующие части pom.xml:

Код: Выделить всё

org.springframework.boot
spring-boot-starter-parent
3.3.5




17




org.springframework.boot
spring-boot-starter-web


org.springframework.security
spring-security-test
test


Конфигурация Cors:

Код: Выделить всё

@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE)
public class CorsConfig  {
@Bean
public CorsFilter corsFilter()  {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(List.of("http://localhost", //
"https://test.example.org/", //
"https://stage.example.org", //
"https://example.org"));
configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
configuration.setAllowedHeaders(Arrays.asList("*"));
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return new CorsFilter(source);
}
}
Запуск приложения и выполнение команд Curl работает

Код: Выделить всё

$ curl -v -H "Access-Control-Request-Method: GET" -H "Origin: https://www.example.com"
http://localhost:8080/my-api/my-endpoint
Как и ожидалось, возвращается: Неверный запрос CORS * Соединение № 0 с локальным хостом осталось нетронутым

Код: Выделить всё

$ curl -v -H "Access-Control-Request-Method: GET" -H "Origin: http://localhost"
http://localhost:8080/my-api/my-endpoint
Как и ожидалось, возвращает правильный ответ JSON.
Однако этот тест JUnit не пройден:

Код: Выделить всё

@Test
void corsDeniesExampleDotCom() throws Exception {
MvcResult result = mockMvc.perform(get("/my-endpoint") //
.header("Access-Control-Request-Method", "GET") //
.header("Origin", "http://example.com")) //
.andExpect(status().isForbidden()) //
.andDo(print()) //
.andReturn();

}

Status expected: but was:
Как заставить этот тест JUnit работать?
Примечания:
Я просмотрел тестирование COR в SpringBootTest, и это старая версия вопрос, а предоставленные ответы не работают.

Подробнее здесь: https://stackoverflow.com/questions/792 ... curl-works
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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