A comprehensive REST Assured-based API testing framework with a well-organized structure, covering authentication, customers, concepts, applications, countries, and cart/coupon functionality.
src/
├── main/java/
│ └── utils/
│ └── RateLimitHandler.java # Rate limit handling utility
└── test/
├── java/
│ ├── base/ # Base test classes and setup
│ ├── tests/ # Test classes
│ │ ├── applications/ # Application CRUD tests
│ │ ├── auth/ # Authentication tests (login, OTP, logout, etc.)
│ │ ├── concepts/ # Concept CRUD tests
│ │ ├── countries/ # Countries API tests
│ │ └── customers/ # Customer management tests
│ ├── endpoints/ # API endpoint implementations
│ ├── payloads/ # POJOs for request/response models
│ ├── specs/ # Request/Response specifications
│ ├── utils/ # Utility classes
│ └── constants/ # Constants (endpoints, etc.)
└── resources/
├── config.properties # Configuration file
├── testdata/ # Test data files (JSON, CSV, etc.)
├── schemas/ # JSON schemas for validation
└── testcases/ # Test case documentation
- Java 11 or higher
- Maven 3.6+
- Clone the repository
- Update
src/test/resources/config.propertieswith your API base URL - Run tests:
mvn clean test
# Run all tests
mvn clean test
# Run specific test class
mvn test -Dtest=UserApiTest
# Run specific test suite
mvn test -Dtest=tests.auth.*
# Generate Allure report
mvn clean test allure:report
# View Allure report
mvn allure:serveEdit src/test/resources/config.properties to configure:
- Base URL
- Timeouts
- Test data
- Environment settings
- REST Assured for API testing
- JSON Schema validation
- POJO-based request/response handling
- Reusable endpoint classes
- Utility classes for common operations (RateLimitHandler, etc.)
- TestNG for test execution
- Configurable test data
- Allure reporting integration
- Edge case testing for auth and customer APIs
- Comprehensive test coverage across multiple API domains
| Module | Tests |
|---|---|
| Auth | Login, Guest Login, Employee Login, OTP Verify, Resend OTP, Reset Password, Logout, WhoAmI, Edge Cases |
| Customers | Create, Get, List, Update, Delete, Favorites, Orders, Edge Cases |
| Concepts | Create, Get, List, Update |
| Applications | Create, Get, Update Theme |
| Countries | List Countries |
- Allure Reports: Generated via
mvn allure:report - Test Results: Available in
allure-results/directory