← All projects

More projects · Java · API

REST API Automation Framework

A layered REST API test framework with Java 17, REST Assured and TestNG against the public JSONPlaceholder API, with a custom self-contained HTML report.

Live CI status of REST API Automation Framework

View source code View documentation View latest CI runs View test report

Purpose

Shows how an API framework separates the test scenario from HTTP details: tests speak in business terms, one manager per API resource handles requests, and builders do the low-level work.

Technology stack

AreaTools
Language / buildJava 17, Maven
HTTPREST Assured
Test runnerTestNG (soft assertions)
JSON mappingJackson
LoggingLog4j2
CIGitHub Actions (CircleCI configuration also included)

Architecture overview

tests (CommentTest)          scenario in business terms, no HTTP code
      │
manager (UserManager, PostManager, CommentManager)
      │   base Manager: send request, log + assert status, map JSON
builder (RequestBuilder, ResponseBuilder)
      │
REST Assured + Jackson ──▶ JSONPlaceholder API

Key engineering decisions

Implemented features

Setup and execution

mvn clean test
mvn clean test -Dusername=Bret      # other test data

Requirements: JDK 17+, Maven 3.6+, internet access (the tests call the live API).

Sample test results

Custom HTML report of the API framework
The custom HTML report.

CI workflow

GitHub Actions runs mvn clean test on every push. A CircleCI configuration is included but not connected.

Known limitations and future improvements

Limitations

Next steps