How do you test API in your project? code example

Example 1: how to test rest api

First, I verify if each REST API end-point is working as
expected.
- I use POSTMAN for manual API testing and use
RESTASSURED library in Java for automation.
- I send GET, POST, PUT, DELETE type of requests and
verify response status code and response body.
- I also do positive/negative testing of API.


When I do positive testing,
I send
valid request parameters,
valid headers,
valid request json body to valid url and verify that
response status code is 200 and
Json response body data is as expected.
When I do negative testing,

I send
invalid request parameters,
or invalid headers,
or invalid request json body and verify
response status code is not 200.

and Json response body contains error message. (for example, there are 100
employees numbered from 1 to 100, I send 101 as an end-point and I should be
able see 404 Not Found. The requested resource was not found.

Example 2: what do you test in response 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") )

Example 3: what to test in api

Request Payload has
ENDPOINT (Specific URL where we send our requests to a certain web service. )
METHOD (Get•Post•Put•Patch•Delete)
HEADERS(Represents the metadata of request
or response. Like basically we can verify
the object type we are sending etc  )
PARAMETERS(Parameters are to specifiying 
even more about the request we are sending 
like what specific resources needs to be returned etc.)
BODY(Body is where we sent or received the request we made)
For the repsonse 
Basically 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)

Example 4: How do you test API in your project?

Request Payload has
ENDPOINT (Specific URL where we send our requests to a certain web service. )
METHOD (Get•Post•Put•Patch•Delete)
HEADERS(Represents the metadata of request
or response. Like basically we can verify
the object type we are sending etc  )
PARAMETERS(Parameters are to specifiying 
even more about the request we are sending 
like what specific resources needs to be returned etc.)
BODY(Body is where we sent or received the request we made)
For the repsonse 
Basically 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)