feat: add backups feature

This commit is contained in:
3252a8
2026-05-27 13:53:30 +03:00
parent e90988ea5c
commit 3aede8fe95
55 changed files with 3032 additions and 70 deletions
+22
View File
@@ -190,6 +190,28 @@ class SettingsTests(unittest.TestCase):
self.assertFalse(settings.SUPPORT_ADMIN_EMAIL_NOTIFICATIONS_ENABLED)
def test_backup_defaults_are_safe_and_blank_targets_use_log_fallback(self):
settings = Settings(
_env_file=None,
BOT_TOKEN="token",
POSTGRES_USER="app_user",
POSTGRES_PASSWORD="app_password",
BACKUP_CHAT_ID="",
BACKUP_THREAD_ID="",
)
self.assertFalse(settings.BACKUP_ENABLED)
self.assertEqual(settings.BACKUP_INTERVAL_SECONDS, 3600)
self.assertEqual(settings.BACKUP_DIR, "data/backups")
self.assertEqual(settings.BACKUP_LOCAL_RETENTION, 100)
self.assertIsNone(settings.BACKUP_CHAT_ID)
self.assertIsNone(settings.BACKUP_THREAD_ID)
self.assertEqual(settings.BACKUP_COMPOSE_SOURCE_DIR, "/app/compose-source")
self.assertIsNone(settings.BACKUP_COMPOSE_RESTORE_DIR)
self.assertEqual(settings.BACKUP_PG_RESTORE_PATH, "pg_restore")
self.assertTrue(settings.BACKUP_ARCHIVE_SIGNATURE_REQUIRED)
self.assertIsNone(settings.BACKUP_ARCHIVE_SIGNATURE_SECRET)
def test_subscription_purchase_description_is_localized_and_toggleable(self):
settings = Settings(
_env_file=None,