Ładowanie ustawień proxy w Maven Resolverze ShrinkWrap
Załaduj konfigurację proxy do resolvera, który pobiera zależności testowe, zamiast polegać na osobnym wywołaniu Mavena.
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem;
MavenResolverSystem resolver = Maven.configureResolver()
.fromFile("/path/to/test-settings.xml");
Użyj tego resolver do kolejnych operacji resolve. Jeśli go zbudujesz, a następnie wywołasz inny domyślny resolver, ustawienie pozostanie na nieużywanym obiekcie. Test Arquillian może utworzyć tę sesję repozytorium po tym, jak Maven już uruchomił proces testowy, więc wcześniejsze pobranie z wiersza poleceń nie ustala jego danych wejściowych.
Wybrany plik używa składni ustawień Mavena. W settings minimalna trasa to:
<proxies>
<proxy>
<id>test-network</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.net</host>
<port>8080</port>
<nonProxyHosts>localhost|*.internal.example.net</nonProxyHosts>
</proxy>
</proxies>
Zastąp ścieżkę, punkt końcowy i zamierzone obejścia. Host nie ma prefiksu URL. Jeśli ten resolver testowy może dotrzeć do publicznego repozytorium przez nieuwierzytelnionego publicznego pośrednika, lista serwerów proxy HTTP dostarcza kandydackie wartości hosta/portu; sprawdź dostęp do rzeczywistego repozytorium. Podaj uwierzytelnianie proxy przez obsługiwane ustawienia; konta repozytorium/serwera uwierzytelniają inną usługę.
Utrzymywana implementacja ładuje aktywne wpisy proxy z modelu ustawień do selektora sesji repozytorium. Ustawienia domyślne uwzględniają także lokalizacje ustawień użytkownika/globalnych; jawny plik pomaga, gdy IDE, agent kompilacji lub runner testów ma inny katalog domowy.
Sprawdź ścieżkę ustawień, adres URL repozytorium i to, czy artefakt rzeczywiście wymagał pobrania. Rozgrzane repozytorium może ukryć brakującą trasę. Resolver pozyskuje artefakty wdrożeniowe; klient HTTP używany przez test wykonuje inne żądanie i potrzebuje własnej konfiguracji. Dla testów Maven Surefire, których klient HTTP respektuje właściwości proxy JVM, skonfiguruj dane wejściowe proxy testowej JVM.