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 را از منبع اعتبارنامه معمول خود تأمین می‌کند. این قطعه یک مشخصه درخواست می‌سازد؛ نشانی API موردنظر را از طریق request و با کد درخواست و بررسی معمول آزمون فراخوانی کنید.

طرح http نقطه پایانی پراکسی را توصیف می‌کند. نشانی API می‌تواند HTTPS بماند. سازوکار withAuth در REST Assured احراز هویت پایه پراکسی را فراهم می‌کند؛ صرفاً به این دلیل که دو رشته داده شده، با همه طرح‌های احراز هویت سازمانی مذاکره نمی‌کند.

اعتبارنامه‌های API را در پیکربندی احراز هویت خود API قرار دهید. از جایگزین‌کردن حساب پراکسی با سرآیند عمومی Authorization یا گذرواژه سرویس بپرهیزید. در HTTPS، احراز هویت با واسطه ممکن است هنگام برقراری CONNECT لازم باشد، پیش از آنکه تبادل HTTP با مقصد وجود داشته باشد.

وقتی خطای باقی‌مانده اعتماد به گواهی است

چالش CONNECT ردشده و خطای اعتبارسنجی گواهی TLS دو نتیجه متفاوت‌اند. اگر CA موردنیاز که سازمان مدیریت می‌کند در ترتیب اعتماد کلاینت موجود نباشد، آن CA را از مسیر اداری تأییدشده تهیه کنید و truststore کلاینت آزمون را پیکربندی کنید.

REST Assured برای این منظور trustStore را در دسترس می‌گذارد. truststore تغییر می‌دهد که کلاینت HTTPS به کدام صادرکنندگان اعتماد کند؛ پراکسی را انتخاب نمی‌کند و ورود آن را فراهم نمی‌کند. اعتبارسنجی نام میزبان و گواهی را فعال نگه دارید، به‌جای استفاده از دست‌دهی accept-all برای پذیرش هر گواهی که ارائه شود.

مقالات مرتبط