74 lines
2.5 KiB
Markdown
74 lines
2.5 KiB
Markdown
# API Tests
|
|
|
|
This directory contains comprehensive unit and integration tests for the Unified API Standard v1.0.
|
|
|
|
## Test Structure
|
|
|
|
### Unit Tests
|
|
- `test_response.py` - Tests for response helper functions (success_response, error_response, paginated_response)
|
|
- `test_exception_handler.py` - Tests for custom exception handler
|
|
- `test_permissions.py` - Tests for permission classes
|
|
- `test_throttles.py` - Tests for rate limiting
|
|
|
|
### Integration Tests
|
|
- `test_integration_base.py` - Base class with common fixtures
|
|
- `test_integration_planner.py` - Planner module endpoint tests
|
|
- `test_integration_writer.py` - Writer module endpoint tests
|
|
- `test_integration_system.py` - System module endpoint tests
|
|
- `test_integration_billing.py` - Billing module endpoint tests
|
|
- `test_integration_auth.py` - Auth module endpoint tests
|
|
- `test_integration_errors.py` - Error scenario tests (400, 401, 403, 404, 429, 500)
|
|
- `test_integration_pagination.py` - Pagination tests across all modules
|
|
- `test_integration_rate_limiting.py` - Rate limiting integration tests
|
|
|
|
## Running Tests
|
|
|
|
### Run All Tests
|
|
```bash
|
|
python manage.py test igny8_core.api.tests --verbosity=2
|
|
```
|
|
|
|
### Run Specific Test File
|
|
```bash
|
|
python manage.py test igny8_core.api.tests.test_response
|
|
python manage.py test igny8_core.api.tests.test_integration_planner
|
|
```
|
|
|
|
### Run Specific Test Class
|
|
```bash
|
|
python manage.py test igny8_core.api.tests.test_response.ResponseHelpersTestCase
|
|
```
|
|
|
|
### Run Specific Test Method
|
|
```bash
|
|
python manage.py test igny8_core.api.tests.test_response.ResponseHelpersTestCase.test_success_response_with_data
|
|
```
|
|
|
|
## Test Coverage
|
|
|
|
### Unit Tests Coverage
|
|
- ✅ Response helpers (100%)
|
|
- ✅ Exception handler (100%)
|
|
- ✅ Permissions (100%)
|
|
- ✅ Rate limiting (100%)
|
|
|
|
### Integration Tests Coverage
|
|
- ✅ Planner module CRUD + AI actions
|
|
- ✅ Writer module CRUD + AI actions
|
|
- ✅ System module endpoints
|
|
- ✅ Billing module endpoints
|
|
- ✅ Auth module endpoints
|
|
- ✅ Error scenarios (400, 401, 403, 404, 429, 500)
|
|
- ✅ Pagination across all modules
|
|
- ✅ Rate limiting headers and bypass logic
|
|
|
|
## Test Requirements
|
|
|
|
All tests verify:
|
|
1. **Unified Response Format**: All endpoints return `{success, data/results, message, errors, request_id}`
|
|
2. **Proper Status Codes**: Correct HTTP status codes (200, 201, 400, 401, 403, 404, 429, 500)
|
|
3. **Error Format**: Error responses include `error`, `errors`, and `request_id`
|
|
4. **Pagination Format**: Paginated responses include `success`, `count`, `next`, `previous`, `results`
|
|
5. **Request ID**: All responses include `request_id` for tracking
|
|
|