How to write JUnit for Spring WebFilter?

Viewed 2309

I have a CustomWebFilter class implementing org.springframework.web.server.WebFilter interface.

@Component
public class CustomWebFilter implements WebFilter {
    @Override
    public Mono<Void> filter(ServerWebExchange serverWebExchange, 
      WebFilterChain webFilterChain) {
        if(<expression>){
            ServerHttpRequest mutatedRequest = exchange.getRequest()
                    .mutate()
                    .header("new-header-key", "new-header-value")
                    .build();

            ServerWebExchange mutatedExchange = exchange.mutate()
                    .request(mutatedRequest)
                    .build();
            return webFilterChain.filter(mutatedExchange);
        }
        return webFilterChain.filter(exchange);
    }
}

As the method filter return type is Mono<Void>, how I can verify the change in request by writing JUnit test?

0 Answers
Related