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.

Powiązane artykuły