Настройки прокси Maven Surefire для HTTP-запросов в тестах
Прокси репозитория Maven не настраивает произвольные HTTP-клиенты внутри тестовой JVM. Отследите и настройте запрос, который выполняет тест.
Прокси репозитория Maven может загружать зависимости, не настраивая HTTP-запрос, который выполняет тест. Настройте клиент в тестовой JVM.
Если этот клиент учитывает свойства HTTPS-прокси Java, поместите этот фрагмент внутрь элемента configuration соответствующего плагина Surefire:
<systemPropertyVariables>
<https.proxyHost>proxy.example</https.proxyHost>
<https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>Замените пример конечной точки. Для тестов к публичным назначениям, где разрешены публичные посредники, список HTTP-прокси предлагает кандидатов хоста и порта. Хост и порт — отдельные значения; выбирайте семейство свойств, подходящее к схеме назначения и библиотеке. А клиенту, созданному с явным объектом прокси, нужен собственный интерфейс настройки.
Surefire обычно запускает тесты в форкнутой JVM. Не все параметры запуска Maven доходят до этого процесса. Обнаружение системного прокси, чувствительное к запуску, требует своего параметра в тестовой JVM при старте. Даже когда тесты делят процесс, библиотека может игнорировать стандартные свойства прокси Java.
Держите внутренние прямые назначения покрытыми подходящим правилом обхода, отделяйте аутентификацию прокси от аутентификации назначения и оставляйте проверку сертификатов включённой. Отключение форка меняет выполнение тестов; смена зеркала зависимостей меняет разрешение репозитория. Ни то, ни другое не даёт отсутствующий маршрут тестового клиента. Копирование всех системных свойств тоже может раскрыть секреты.
При оставшемся сбое запишите тестовую JVM, HTTP-библиотеку, цель, выбранный прокси и первый неудачный этап. Эти наблюдения указывают на конфигурацию теста, а рабочие загрузки из репозитория остаются понятными.