| 1234567891011121314151617181920212223242526272829 |
- """Git backups retain detection configuration without exporting credentials."""
- from backend.app.models.settings import Settings
- from backend.app.services.github_backup import GitHubBackupService
- from backend.app.services.secret_fields import SECRET_PLACEHOLDER
- async def test_settings_backup_excludes_credentials(db_session):
- public_settings = {
- "octoeverywhere_enabled": "true",
- "octoeverywhere_confidence": "high",
- "octoeverywhere_poll_interval": "20",
- }
- private_settings = {
- "octoeverywhere_api_key": "private-gadget-key",
- "bambu_cloud_token": "private-cloud-token",
- "auth_secret_key": "private-auth-key",
- "manyfold_client_secret": "private-manyfold-secret",
- }
- db_session.add_all([Settings(key=key, value=value) for key, value in (public_settings | private_settings).items()])
- await db_session.commit()
- files = {}
- await GitHubBackupService()._collect_settings(db_session, files)
- assert files["settings/app_settings.json"]["settings"] == public_settings | dict.fromkeys(
- private_settings, SECRET_PLACEHOLDER
- )
- assert all(value not in str(files) for value in private_settings.values())
|