How sidmlv43/restful-reads-api-testing works
Restful Reads is a Java REST Assured/TestNG API automation framework. Its main workflow is to run API tests with an isolated role-specific user session, invoke service-layer requests against the Restful Reads API, then assert responses and report results. The graph includes documented data-driven testing, schema validation, retries, and reporting; some of those links are omitted where implementation wiring was not sampled.
Main entry points: BaseService.java Shared request setup · BookServiceTest.java Book tests · BookService.java Book service · AuthTest.java Auth tests
Components 23
Test execution
- TestNG runner
- Auth tests
src/test/java/com/restfulReads/tests/AuthTest.java - Book tests
src/test/java/com/restfulReads/tests/BookServiceTest.java - User journeys
src/test/java/com/restfulReads/tests/UserJourneyTests.java - Data providers
src/test/java/com/restfulReads/dataproviders
User isolation
- User context listener
src/test/java/com/restfulReads/listeners/UserContextListener.java - Role user pools
src/main/java/com/restfulReads/session/UserPool.java - Pool initializer
src/main/java/com/restfulReads/session/UserPoolInitializer.java - Thread-local session
src/main/java/com/restfulReads/session/SessionManager.java
API client
- Authentication service
src/main/java/com/restfulReads/services/AuthService.java - Book service
src/main/java/com/restfulReads/services/BookService.java - Cart service
src/main/java/com/restfulReads/services/CartService.java - Other API services
src/main/java/com/restfulReads/services - Shared request setup
src/main/java/com/restfulReads/services/base/BaseService.java - Environment config
src/main/java/com/restfulReads/config/ConfigManager.java - Book query builder
src/main/java/com/restfulReads/query/BookQueryParams.java
Validation and reporting
- Custom assertions
src/test/java/com/restfulReads/assertions - JSON schema checks
src/test/resources/schemas - Retry handling
src/test/java/com/restfulReads/listeners/RetryAnalyzer.java - Traffic logging filter
src/main/java/com/restfulReads/reporting/ExtentRestAssuredFilter.java - Extent reporting
src/main/java/com/restfulReads/reporting/ExtentManager.java - Report listener
src/test/java/com/restfulReads/listeners/ExtentTestListener.java
Other components
- Restful Reads API
Connections 28
- TestNG runner → Auth tests: runs
- TestNG runner → Book tests: runs
- TestNG runner → User journeys: runs
- User context listener → Role user pools: leases user
- Pool initializer → Role user pools: initializes
- User context listener → Thread-local session: sets session
- Auth tests → Authentication service: calls
- Book tests → Book service: calls
- User journeys → Cart service: exercises
- User journeys → Other API services: exercises
- Authentication service → Shared request setup: uses requests
- Book service → Shared request setup: uses requests
- Cart service → Shared request setup: uses requests
- Shared request setup → Environment config: gets base URL
- Shared request setup → Thread-local session: gets token
- Shared request setup → Traffic logging filter: adds filter
- Authentication service → Restful Reads API: sends auth requests
- Book service → Restful Reads API: sends book requests
- Cart service → Restful Reads API: sends cart requests
- Other API services → Restful Reads API: sends requests
- Book service → Book query builder: applies query map
- Auth tests → Custom assertions: checks responses
- Book tests → Custom assertions: checks responses
- Custom assertions → JSON schema checks: validates schemas
- TestNG runner → Retry handling: retries failures
- Traffic logging filter → Report listener: logs traffic
- Report listener → Extent reporting: records results
- Book tests → Data providers: uses datasets