Spaces:
Running
on
Zero
Running
on
Zero
| # 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 | |