response body api code example

Example 1: fetch response json or text

const _fetch = async props => {
   const { endpoint, options } = props
   return await fetch(endpoint, options)
   .then(async res => {
      if (res.ok) {
         return await res.clone().json().catch(() => res.text())
      }
      return false
   })
   .catch(err => {
      console.error("api", "_fetch", "err", err)
      return false
   })
}

Example 2: api response

Response 
				
				 Status code 
				 			2xx -->>  success 
				 			4xx -->>  client side error
				 			5xx -->>  server side error 
				 Header 
				 		meta data about your response 
				 		like Content-Type, Date and some other info

				 Body | Payload		
				 		The response we got from the server 
				 		and this where we do lots of validation

Example 3: response api

RESPONSE :(STATUS CODE,PAYLOAD(body),HEADER,COOKIE,
           TIME(spent to get response))

1-Status Code:
   2xx - Success
   4xx - Client Error
   5xx - Server Error

2-Payload(Body) : 
The actual resource we got from the server.
Content type can be : plain text, json, xml, html, json etc.

3- Metadata about response to provide more information

4- Cookie

5- Time for getting spended time for the response

Example 4: response body api

Basicall we are checking response body
to verify if request matches with response.
In the response we are verifying
(body, status code, header, response time,
 test structure of json against the given jsonSchema)
 
 
If file not under resources: 
File schemaFile = new File("src/test/resources/postSuccessResponseSchema.json");

     given()
        .spec(adminReqSpec)
        .contentType(ContentType.JSON)
        .body(abcUtil.getRandomHeroPOJO_Payload()).
     when()
        .post("/HEROS").
     then()
        .body(matchesJsonSchema( schemaFile )  ) 
        
        
If schema file under resources:
  given()
      .spec(adminReqSpec)
      .queryParam("nameContains","a")
      .queryParam("gender","Female").
  when()
      .get("/abc/search").
 then()
 	  .time( lessThan(2000L));	
      .body(matchesJsonSchemaInClasspath("searchSpartanSchema.json") )

Tags:

Java Example