"""Tests for exchange models.""" from apps.exchange.models import ExchangeConnection from django.test import TestCase from tests.apps.exchange.factories import ExchangeConnectionFactory class ExchangeConnectionModelTest(TestCase): def test_string_representation_and_plain_password_passthrough(self): connection = ExchangeConnectionFactory( username="postgres", server="127.0.0.1", port=5432, database_name="target_db", schema_name="public", ) self.assertEqual(str(connection), "postgres@127.0.0.1:5432/target_db[public]") self.assertEqual(ExchangeConnection.decrypt_password("legacy-pass"), "legacy-pass") def test_decrypt_password_raises_for_invalid_encrypted_token(self): with self.assertRaisesMessage( ValueError, "Не удалось расшифровать пароль exchange connection", ): ExchangeConnection.decrypt_password(f"{ExchangeConnection.PASSWORD_PREFIX}invalid")