Проксі сховища 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-бібліотеку, ціль, вибраний проксі та перший невдалий етап. Ці спостереження вказують на конфігурацію тесту, а робочі завантаження зі сховища залишаються зрозумілими.

Схожі статті