Il proxy del repository Maven può recuperare dipendenze senza configurare una richiesta HTTP effettuata da un test. Configura il client nella JVM di test.

Se quel client rispetta le proprietà proxy HTTPS di Java, inserisci questo frammento nell'elemento configuration del plugin Surefire pertinente:

<systemPropertyVariables>
  <https.proxyHost>proxy.example</https.proxyHost>
  <https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>

Sostituisci l'endpoint di esempio. Per i test verso destinazioni pubbliche in cui sono ammessi intermediari pubblici, la lista di proxy HTTP offre candidati host e porta. Host e porta sono valori separati; scegli la famiglia di proprietà adatta allo schema di destinazione e alla libreria. Un client costruito con un oggetto proxy esplicito, invece, necessita della propria interfaccia di configurazione.

Surefire esegue di solito i test in una JVM forkata. Non tutte le opzioni usate per avviare Maven raggiungono quel processo. L'individuazione del proxy di sistema sensibile all'avvio richiede la propria opzione sulla JVM di test all'avvio. Anche quando i test condividono un processo, una libreria può ignorare le proprietà proxy predefinite di Java.

Mantieni le destinazioni interne dirette coperte da una regola di bypass adeguata, l'autenticazione del proxy separata dall'autenticazione della destinazione e la verifica dei certificati attiva. Disattivare il fork cambia il modo in cui i test vengono eseguiti; cambiare il mirror delle dipendenze cambia la risoluzione del repository. Nessuno dei due fornisce una rotta client di test mancante. Copiare tutte le proprietà di sistema può anche esporre segreti.

In caso di errore residuo, annota la JVM di test, la libreria HTTP, la destinazione, il proxy scelto e la prima fase fallita. Queste osservazioni indicano la configurazione del test lasciando comprensibili i download del repository che funzionano.

Articoli correlati