REST Assured memiliki spesifikasi proxy yang membawa alamat dan kredensial perantara secara bersamaan:

import static io.restassured.RestAssured.given;
import io.restassured.specification.ProxySpecification;

var proxy = ProxySpecification.host("proxy.example")
    .withPort(8080)
    .withScheme("http")
    .withAuth(proxyUser, proxyPassword);

var request = given().proxy(proxy);

Aplikasi menyediakan proxyUser dan proxyPassword dari sumber kredensial biasanya. Fragmen ini membangun spesifikasi permintaan; panggil URL API yang dimaksud melalui request dengan kode permintaan dan pemeriksaan biasa milik pengujian.

Skema http menjelaskan titik akhir proxy. URL API dapat tetap HTTPS. Mekanisme withAuth REST Assured menyediakan autentikasi proxy dasar; ia tidak menegosiasikan setiap skema autentikasi korporat hanya karena dua string diberikan.

Tempatkan kredensial API di konfigurasi autentikasi API itu sendiri. Hindari menggantikan akun proxy dengan header Authorization umum atau kata sandi layanan. Pada HTTPS, autentikasi ke perantara dapat diperlukan saat membangun CONNECT, sebelum pertukaran HTTP dengan tujuan ada.

Ketika sisa kegagalan adalah kepercayaan sertifikat

Tantangan CONNECT yang ditolak dan kesalahan validasi sertifikat TLS adalah hasil yang berbeda. Jika CA yang dikelola organisasi dan diperlukan tidak ada dalam pengaturan kepercayaan klien, dapatkan CA tersebut melalui saluran administratif yang disetujui dan konfigurasikan truststore klien pengujian.

REST Assured menyediakan trustStore untuk tujuan itu. Truststore mengubah penerbit mana yang dipercaya klien HTTPS; ia tidak memilih proxy atau memberikan loginnya. Biarkan validasi nama host dan sertifikat tetap aktif alih-alih memakai handshake accept-all untuk menerima sertifikat apa pun yang disajikan.

Artikel terkait