Demonstrates SQL-driven test validation using pytest and SQLite.
- Property-based testing for data integrity
- SQL query validation
- Database fixture management
- Test data setup and teardown
Create and activate a virtual environment:
On Mac/Linux:
python3 -m venv venv
source venv/bin/activateOn Windows:
python -m venv venv
venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtSet up test database:
On Mac/Linux:
python3 setup_test_db.pyOn Windows:
python setup_test_db.pyFrom the project root:
pytest- Balance Integrity: Property-based validation that account_balance = deposits - withdrawals
- User Count: Validates expected number of test users
- User Existence: Checks for specific test users
- Transaction Status: Validates transaction completion status
- User Balance: Validates individual user balance calculations
- User Transactions: Validates transaction history per user