| # Test Suite Installation Guide |
|
|
| This guide explains how to install the dependencies needed to run the CLI redaction test suite. |
|
|
| ## Quick Start |
|
|
| ### Option 1: Install test dependencies with pip |
| ```bash |
| # Install main application dependencies |
| pip install -r requirements.txt |
| |
| # Install test dependencies |
| pip install -r test/requirements.txt |
| ``` |
|
|
| ### Option 2: Install with pyproject.toml |
| ```bash |
| # Install with test dependencies |
| pip install -e ".[test]" |
| ``` |
|
|
| ### Option 3: Install everything at once |
| ```bash |
| # Install main dependencies |
| pip install -r requirements.txt |
| |
| # Install test dependencies |
| pip install pytest pytest-cov pytest-html pytest-xdist |
| ``` |
|
|
| ## Detailed Requirements |
|
|
| ### Core Dependencies (Already in your requirements.txt) |
| The test suite uses your existing application dependencies: |
| - All the packages in your main `requirements.txt` |
| - Standard Python libraries (unittest, tempfile, shutil, os, subprocess) |
|
|
| ### Additional Test Dependencies |
|
|
| #### Required for Testing: |
| - **pytest** (>=7.0.0): Modern test framework with better discovery and reporting |
| - **pytest-cov** (>=4.0.0): Coverage reporting for tests |
|
|
| #### Optional for Enhanced Testing: |
| - **pytest-html** (>=3.1.0): Generate HTML test reports |
| - **pytest-xdist** (>=3.0.0): Run tests in parallel for faster execution |
|
|
| ## Installation Commands |
|
|
| ### Minimal Installation (Required) |
| ```bash |
| pip install pytest pytest-cov |
| ``` |
|
|
| ### Full Installation (Recommended) |
| ```bash |
| pip install pytest pytest-cov pytest-html pytest-xdist |
| ``` |
|
|
| ### Development Installation |
| ```bash |
| # Install in development mode with test dependencies |
| pip install -e ".[test]" |
| ``` |
|
|
| ## Verification |
|
|
| After installation, verify everything works: |
|
|
| ```bash |
| # Check pytest is installed |
| pytest --version |
| |
| # Run a simple test to verify the test suite works |
| cd test |
| python test.py |
| ``` |
|
|
| ## Running Tests |
|
|
| ### Method 1: Using the test script (Recommended) |
| ```bash |
| cd test |
| python test.py |
| ``` |
|
|
| ### Method 2: Using pytest |
| ```bash |
| # Run all tests |
| pytest test/test.py -v |
| |
| # Run with coverage |
| pytest test/test.py --cov=. --cov-report=html |
| |
| # Run in parallel (faster) |
| pytest test/test.py -n auto |
| ``` |
|
|
| ### Method 3: Using unittest directly |
| ```bash |
| cd test |
| python -m unittest test.test.TestCLIRedactExamples -v |
| ``` |
|
|
| ## Troubleshooting |
|
|
| ### Common Issues: |
|
|
| 1. **Missing example data files** |
| - Ensure you have the example data in `example_data/` directory |
| - Tests will skip gracefully if files are missing |
|
|
| 2. **AWS credentials not configured** |
| - AWS-related tests may fail but this is expected |
| - Tests are designed to handle missing credentials gracefully |
|
|
| 3. **Import errors** |
| - Make sure you're in the correct directory |
| - Ensure all main application dependencies are installed first |
|
|
| 4. **Permission errors** |
| - Ensure you have write permissions for temporary directories |
| - The test suite creates and cleans up temporary files automatically |
|
|
| ### Getting Help: |
|
|
| If you encounter issues: |
| 1. Check that all main application dependencies are installed |
| 2. Verify you're running from the correct directory |
| 3. Ensure example data files are present |
| 4. Check the test output for specific error messages |
|
|
| ## Notes |
|
|
| - The test suite is designed to be robust and will skip tests if required files are missing |
| - All temporary files are automatically cleaned up |
| - Tests have a 10-minute timeout to prevent hanging |
| - AWS tests are expected to fail if credentials aren't configured |
|
|