To test a DELETE API using Rest Assured in Java, you follow a standard procedure:
API used for DELETE operation:
DELETE https://reqres.in/api/users/2
This would delete user with ID
Expected Response from
2
.Steps to Test DELETE API via Rest Assured:
- Set the Base URI
- Specify the Endpoint (example:
/users/2
) - Use
given()
to prepare request - Use
.when().delete()
to send the request - Use
.then()
to validate the response (status code, etc.)
Expected Response from https://reqres.in/api/users/2
:
The ReqRes API will respond with HTTP status code 204 No Content
which indicates successful deletion, but no body is returned.
Maven Dependencies
<dependencies> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>5.4.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20230227</version> </dependency> </dependencies>
Java Code using Rest Assured:
import io.restassured.RestAssured; import io.restassured.response.Response; import static io.restassured.RestAssured.*; import static org.hamcrest.Matchers.*; public class DeleteUserTest { public static void main(String[] args) { // Step 1: Set Base URI RestAssured.baseURI = "https://reqres.in/api"; // Step 2: Perform DELETE request and validate Response response = given() .when() .delete("/users/2") // Endpoint .then() .statusCode(204) // Assert expected status code .extract().response(); // Step 3: Print response for debugging (though it should be empty) System.out.println("Status Code: " + response.getStatusCode()); System.out.println("Response Body: '" + response.getBody().asString() + "'"); } }
Just to Inform:
statusCode(204)
ensures deletion is successful.The response body should be empty (
""
), as per REST standard for DELETE.
No comments:
Post a Comment