REST Assured มีข้อกำหนดพร็อกซีที่พาที่อยู่และข้อมูลรับรองของตัวกลางไปด้วยกัน:

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);

แอปพลิเคชันจัดหา proxyUser และ proxyPassword จากแหล่งข้อมูลรับรองตามปกติ ตัวอย่างนี้สร้างข้อกำหนดคำขอ เรียก URL ของ API ที่ต้องการผ่าน request ด้วยโค้ดคำขอและการตรวจสอบตามปกติของการทดสอบ

สคีมา http อธิบายปลายทางของพร็อกซี URL ของ API ยังคงเป็น HTTPS ได้ กลไก withAuth ของ REST Assured ให้การพิสูจน์ตัวตนพร็อกซีแบบพื้นฐาน ไม่ได้เจรจากับทุกสคีมาการพิสูจน์ตัวตนขององค์กรเพียงเพราะมีการส่งสตริงสองค่า

วางข้อมูลรับรองของ API ไว้ในการตั้งค่าการพิสูจน์ตัวตนของ API เอง หลีกเลี่ยงการแทนที่บัญชีพร็อกซีด้วยส่วนหัว Authorization ทั่วไปหรือรหัสผ่านของบริการ สำหรับ HTTPS การพิสูจน์ตัวตนกับตัวกลางอาจจำเป็นขณะสร้าง CONNECT ก่อนที่การแลกเปลี่ยน HTTP กับปลายทางจะมีอยู่

เมื่อความล้มเหลวที่เหลืออยู่คือความเชื่อถือในใบรับรอง

การท้าทาย CONNECT ที่ถูกปฏิเสธและ ข้อผิดพลาดในการตรวจสอบใบรับรอง TLS เป็นผลลัพธ์ที่ต่างกัน หากไม่มี CA ที่องค์กรจัดการซึ่งจำเป็นอยู่ในการตั้งค่าความเชื่อถือของไคลเอนต์ ให้ขอ CA นั้นผ่านช่องทางบริหารที่ได้รับอนุมัติและกำหนดค่า truststore ของไคลเอนต์ทดสอบ

REST Assured เปิดให้ใช้ trustStore เพื่อการนั้น truststore เปลี่ยนว่าผู้ออกใบรับรองใดที่ไคลเอนต์ HTTPS เชื่อถือ ไม่ได้เลือกพร็อกซีหรือให้ข้อมูลเข้าสู่ระบบของพร็อกซี เปิดการตรวจสอบชื่อโฮสต์และใบรับรองไว้แทนการใช้แฮนด์เชกแบบ accept-all เพื่อรับใบรับรองใดก็ตามที่ถูกนำเสนอ

บทความที่เกี่ยวข้อง