-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Parent Issue: #54
Goal
Comprehensive testing of the new structure.
Tasks
Integration Tests
- Write integration tests in root
tests/directorytest_api_pipeline.py: Test API can query data loaded by pipelinetest_end_to_end.py: Full stack integration tests
- Create comprehensive test fixtures in root
tests/conftest.py- Database session fixtures
- Sample data fixtures
- API client fixtures
- Fixtures shared across all packages
Package-Specific Tests
- Ensure each package has its own unit tests
- Datamodels:
src/ca_biositing/datamodels/tests/ - Webservice:
src/ca_biositing/webservice/tests/ - Pipeline:
src/ca_biositing/pipeline/tests/
- Datamodels:
Test Execution
- Run full test suite
- All unit tests:
pixi run test - Datamodels tests:
pytest src/ca_biositing/datamodels/tests/ - Webservice tests:
pytest src/ca_biositing/webservice/tests/ - Pipeline tests:
pytest src/ca_biositing/pipeline/tests/ - Integration tests:
pytest tests/
- All unit tests:
Docker Testing
- Test Docker Compose full stack
- All services start successfully
- Services can communicate
- Data flows correctly through pipeline
- API serves data correctly
Performance Testing
- Performance testing (basic)
- API response times
- Pipeline execution times
- Database query performance
CI/CD Updates
- Update CI/CD workflows (
.github/workflows/)- Run tests on PR (all package tests + integration)
- Run linting and pre-commit checks
- Test Docker builds
- Check documentation builds
Success Criteria
- All tests pass (unit, integration, end-to-end)
- Each namespace package can be tested independently
- Integration tests verify full stack functionality
- CI/CD pipeline successfully builds and tests all components
- Test coverage >80% for all packages
- Performance metrics meet or exceed baseline
Dependencies
- Depends on: Phase 1: Create Namespace Package Structure #56 (Phase 1) - namespace packages
- Depends on: Phase 3: Create Webservice Namespace Package #58 (Phase 3) - webservice
- Depends on: Phase 4: Update Docker for Namespace Packages #59 (Phase 4) - Docker setup
Labels
Sub-task, phase-7, testing, quality-assurance
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels