REST Assured có một đặc tả proxy mang theo địa chỉ và thông tin xác thực của trung gian cùng nhau:

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

Ứng dụng cung cấp proxyUser và proxyPassword từ nguồn thông tin xác thực thông thường của nó. Đoạn mã này dựng một đặc tả yêu cầu; gọi URL API mong muốn thông qua request bằng mã yêu cầu và kiểm tra thông thường của bài kiểm thử.

Lược đồ http mô tả điểm cuối của proxy. URL API có thể vẫn là HTTPS. Cơ chế withAuth của REST Assured cung cấp xác thực proxy cơ bản; nó không thương lượng mọi lược đồ xác thực doanh nghiệp chỉ vì đã truyền hai chuỗi.

Đặt thông tin xác thực của API trong cấu hình xác thực của chính API. Tránh thay tài khoản proxy bằng tiêu đề Authorization chung hoặc bằng mật khẩu dịch vụ. Với HTTPS, xác thực với trung gian có thể cần thiết khi thiết lập CONNECT, trước khi có trao đổi HTTP với đích.

Khi lỗi còn lại là tin cậy chứng chỉ

Một thách thức CONNECT bị từ chối và lỗi xác thực chứng chỉ TLS là những kết quả khác nhau. Nếu thiếu CA do tổ chức quản lý như yêu cầu trong cấu hình tin cậy của máy khách, hãy lấy CA đó qua kênh quản trị đã được phê duyệt và cấu hình truststore của máy khách kiểm thử.

REST Assured cung cấp trustStore cho mục đích đó. Truststore thay đổi nhà phát hành nào mà máy khách HTTPS tin cậy; nó không chọn proxy hay cung cấp thông tin đăng nhập của proxy. Hãy bật xác thực tên máy chủ và chứng chỉ thay vì dùng bắt tay accept-all để nhận bất kỳ chứng chỉ nào được trình bày.

Bài viết liên quan