Step 1:
Get the Response
object.
Response
response = given().header("Accept",
"application/json").header("Content-Type",
"application/json")
.when().get("api/v1/employees/3").then().assertThat().statusCode(200).and()
.contentType(ContentType.JSON).extract().response();
Step 2:
Convert Response to a
model class.
Employee
emp = response.as(Employee.class);
package com.sample.app.model;
public class Employee {
private int id;
private String firstName;
private String lastName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
App.java
package com.sample.app;
import static io.restassured.RestAssured.given;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import com.sample.app.model.Employee;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.response.Response;
public class TestApp {
@Test
public void testApp() {
RestAssured.baseURI = "http://localhost:8080";
Response response = given().header("Accept", "application/json").header("Content-Type", "application/json")
.when().get("api/v1/employees/3").then().assertThat().statusCode(200).and()
.contentType(ContentType.JSON).extract().response();
Employee emp = response.as(Employee.class);
assertEquals(emp.getId(), 3);
assertEquals(emp.getFirstName(), "Purna Chandra");
assertEquals(emp.getLastName(), "Rao");
}
}
How to
map list of employees to a model class?
Employee[]
emps = response.as(Employee[].class);
package com.sample.app;
import static io.restassured.RestAssured.given;
import org.junit.Test;
import com.sample.app.model.Employee;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.response.Response;
public class TestApp {
@Test
public void testApp() {
RestAssured.baseURI = "http://localhost:8080";
Response response = given().header("Accept", "application/json").header("Content-Type", "application/json")
.when().get("api/v1/employees").then().assertThat().statusCode(200).and().contentType(ContentType.JSON)
.extract().response();
Employee[] emps = response.as(Employee[].class);
for (Employee emp : emps) {
System.out.println(emp.getId());
}
}
}
Output
1 2 3 4 5 6 7 8 9
No comments:
Post a Comment