f1b48208fc
Unit Tests / test (push) Failing after 8m58s
- auth_manager._ensure_file(): stop creating the empty auth_users.json on init — the constructor now only creates the parent directory. The 503 guard in enforce_auth relies on the file existing-but-empty; by not creating it on init, a fresh install correctly bypasses auth (file missing → FileNotFoundError → bypass), while the explicit misconfiguration case (file created with [] but no users added) still returns 503. - test_enforce_auth_configured.py: update empty_auth_manager fixture to explicitly write '[]' to the file (reproduces the misconfig scenario now that the constructor no longer creates it). - ddns_manager: read ddns config from configs['ddns'] directly instead of identity.domain.ddns — _identity.domain is a plain string, not a dict, so the nested lookup silently returned nothing on every call. - setup_cell.py: write top-level 'ddns' block into cell_config.json with provider, api_base_url, and totp_secret; default TOTP secret to the production value so installs work without a manual env var. - test_ddns_manager.py: update _make_config_manager to populate cm.configs instead of mocking get_identity() to match the new ddns config location. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
18 lines
280 B
Plaintext
18 lines
280 B
Plaintext
flask>=3.0.3
|
|
flask-cors>=4.0.1
|
|
requests>=2.32.3
|
|
pyotp>=2.9.0
|
|
cryptography>=42.0.5
|
|
pyyaml==6.0.1
|
|
icalendar==5.0.7
|
|
vobject==0.9.6.1
|
|
python-dotenv==1.0.0
|
|
wireguard-tools==0.4.3
|
|
bcrypt>=4.0.1
|
|
|
|
# Testing dependencies
|
|
pytest==7.4.3
|
|
pytest-cov==4.1.0
|
|
pytest-mock==3.12.0
|
|
|
|
docker>=7.0.0 |