После обновления до Spring Boot 3.4.0 (Spring Web 6.2.0) мои тесты фильтров Gateway начали сбой. Испытания ранее подтвердили, что заголовки запросов были правильно изменены, но теперь модификации, похоже, не видны в тестовых утверждениях. < /p>
@Component
class TestGatewayFilter implements GatewayFilter {
public TestGatewayFilter() {
}
@Override
public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {
Builder builder = exchange.getRequest().mutate();
builder.header("test-header", "test");
return chain.filter(exchange.mutate().request(builder.build()).build());
}
}
@ExtendWith(MockitoExtension.class)
class TestGatewayFilterTest {
@InjectMocks
private TestGatewayFilter testGatewayFilter;
@Test
void shouldRunFilter() {
MockServerHttpRequest mockRequest = MockServerHttpRequest
.get("/testfilter")
.build();
MockServerWebExchange exchange = MockServerWebExchange.from(mockRequest);
Mono result = testGatewayFilter.filter(exchange, e -> Mono.empty());
StepVerifier.create(result)
.verifyComplete();
assertEquals("test", exchange.getRequest().getHeaders().getFirst("test-header"));
}
}
< /code>
Зависимости: < /p>
org.springframework.boot
spring-boot-starter-parent
3.4.0
17
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-gateway
io.projectreactor
reactor-test
3.7.1
test
org.apache.commons
commons-text
1.13.0
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-gateway-dependencies
4.2.0
pom
import
< /code>
Тест проходит с Spring Boot 3.3.x (который включает в себя Spring Web 6.1.x), но сбой с 3.4.0 (который включает в себя Spring Web 6.2.x). Я просмотрел ноты выпуска Spring Framework 6.2, но не смог найти никаких упоминаний об изменениях в поведении ServerWebExchange или MockServerWebExchange. Этот модульный тест тоже.
Вопросы: < /p>
Это известное нарушение? Способ проверки заголовков запросов и взаимодействия служб в тестировании фильтров Gateway сейчас?>
Подробнее здесь: https://stackoverflow.com/questions/793 ... ecifically
Тесты Pring Cloud Gateway сняты после обновления до Spring Boot 3.4.0 (в частности, Spring-Web 6.2.0) ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Pring Cloud Config с шиной Kafka: Почему только один экземпляр получает обновление
Anonymous » » в форуме JAVA - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-