Добавить заголовок ко всем запросам - PullRequest
2 голосов
/ 07 октября 2019

Можно ли добавить заголовок ко всем запросам?

Я должен добавить заголовок ко всем запросам. В производственных средах заголовок добавляется прокси.

Добавление этого заголовка вручную во всех тестах раздражает.

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Как подсказал @pvpkiran, я создал фильтр

public class AddHeadersFilter implements Filter {

    @Override
    public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) {
        requestSpec.header(new Header(IntegrationBaseTest.HEADER_USER_NAME, "test-user"));

        return ctx.next(requestSpec, responseSpec);
    }

}

Затем я добавил его во все тесты

    @BeforeClass
    public static void configureRestAssured() {
        RestAssured.filters(new AddHeadersFilter());
    }

Кажется, что работает.

Я также добавил (надеюсь) полезную конфигурацию

        HeaderConfig headerConfig = headerConfig()
                .overwriteHeadersWithName(HEADER_USER_NAME);
        RestAssured.config().headerConfig(headerConfig);

Так что в некоторых тестах есть способ переопределить заголовок

0 голосов
/ 07 октября 2019

Используете ли вы FeignClient для своих запросов?

Если это так, и если ваши тесты определяют профиль с именем test, вы можете использовать что-то вроде этого:

@Configuration
public class FeignRequestConfiguration {

    @Bean
    @Profile("test")
    public RequestInterceptor feignRequestInterceptorTest() {
        return (RequestTemplate requestTemplate) -> {
            requestTemplate.header("Some-Header", "Some-Value");
        };
    }
}
...