Create comprehensive configuration loading test suite
Issue Description
We need a comprehensive test suite that examines all possible combinations of provider configurations across different configuration sources. This will help prevent issues like #17 (BKK config loading order) and ensure consistent behavior across all providers.
Test Cases to Cover
The test suite should verify configuration loading for:
- All implemented providers (STIB, De Lijn, BKK)
- All configuration sources:
- Provider defaults (
app/transit_providers/*/config.py)
- Default configuration (
default.py)
- Local configuration (
local.py)
- All combinations of:
- Full configuration in each source
- Partial configuration in each source
- Missing configuration in each source
- Overlapping configurations
Implementation Details
- Create a test framework that can:
- Modify configuration files programmatically
- Start/stop the server
- Make API requests
- Verify the returned configuration
- Test scenarios should include:
- Basic configuration loading
- Configuration merging
- Configuration overriding
- Default fallbacks
- Invalid configurations
Success Criteria
- All providers follow the same configuration precedence rules
- Configuration changes in any source are correctly reflected in the API
- Invalid configurations are handled gracefully
- Tests are automated and can be run as part of CI/CD
Related Issues
Create comprehensive configuration loading test suite
Issue Description
We need a comprehensive test suite that examines all possible combinations of provider configurations across different configuration sources. This will help prevent issues like #17 (BKK config loading order) and ensure consistent behavior across all providers.
Test Cases to Cover
The test suite should verify configuration loading for:
app/transit_providers/*/config.py)default.py)local.py)Implementation Details
Success Criteria
Related Issues