diff --git a/testing-modules/rest-assured-2/src/test/java/com/baeldung/restassured/certificates/UntrustedCertificatesLiveTest.java b/testing-modules/rest-assured-2/src/test/java/com/baeldung/restassured/certificates/UntrustedCertificatesLiveTest.java new file mode 100644 index 000000000000..8f476f98cead --- /dev/null +++ b/testing-modules/rest-assured-2/src/test/java/com/baeldung/restassured/certificates/UntrustedCertificatesLiveTest.java @@ -0,0 +1,71 @@ +package com.baeldung.restassured.certificates; + +import static io.restassured.RestAssured.config; +import static io.restassured.RestAssured.given; +import static io.restassured.config.SSLConfig.sslConfig; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import io.restassured.RestAssured; +import io.restassured.config.RestAssuredConfig; +import io.restassured.config.SSLConfig; + +class UntrustedCertificatesLiveTest { + private static final String TEST_URL = "https://self-signed.badssl.com"; + + @Test + @Disabled + void whenCallingUntrustedCertificate_thenTheTestFails() { + given() + .baseUri(TEST_URL) + .when() + .get("/") + .then() + .statusCode(200); + } + + @Test + void whenUsingRelaxedHTTPSValidation_thenTheTestPasses() { + given() + .relaxedHTTPSValidation() + .baseUri(TEST_URL) + .when() + .get("/") + .then() + .statusCode(200); + } + + @Test + void whenTheCertificateIsTrusted_thenTheTestPasses() { + given() + .config(config() + .sslConfig(sslConfig() + .trustStore("/badssl.jks", "changeit"))) + .baseUri(TEST_URL) + .when() + .get("/") + .then() + .statusCode(200); + } + + @Test + void whenTheCertificateIsTrustedGlobally_thenTheTestPasses() { + RestAssuredConfig oldConfig = RestAssured.config; + + try { + RestAssured.config = RestAssured.config() + .sslConfig(SSLConfig.sslConfig() + .trustStore("/badssl.jks", "changeit")); + + given() + .baseUri(TEST_URL) + .when() + .get("/") + .then() + .statusCode(200); + } finally { + RestAssured.config = oldConfig; + } + } +} diff --git a/testing-modules/rest-assured-2/src/test/resources/badssl.jks b/testing-modules/rest-assured-2/src/test/resources/badssl.jks new file mode 100644 index 000000000000..8d2bbe9a4863 Binary files /dev/null and b/testing-modules/rest-assured-2/src/test/resources/badssl.jks differ