Files
GIA/core/tests/test_signal_unlink_fallback.py
Mark Veidemanis add685a326 Remove real contact numbers from tests and update tooling
- Replace real phone numbers in tests with Ofcom-reserved fictitious
  numbers (447700900xxx range) throughout test suite
- Add SIGNAL_NUMBER to stack.env.example documenting required env var
- Update pre-commit hooks to latest versions (black 26.3.0, isort 8.0.1,
  flake8 7.3.0, djhtml 3.0.10, ripsecrets v0.1.11)
- Add CLAUDE.md with rule prohibiting real contact identifiers in code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 22:38:06 +00:00

43 lines
1.2 KiB
Python

from unittest.mock import Mock, patch
from django.test import TestCase
from core.clients import transport
class SignalUnlinkFallbackTests(TestCase):
@patch("core.clients.transport._wipe_signal_cli_local_state")
@patch("requests.delete")
def test_signal_unlink_uses_rest_delete_when_available(
self,
mock_delete,
mock_wipe,
):
ok_response = Mock()
ok_response.ok = True
mock_delete.return_value = ok_response
result = transport.unlink_account("signal", "+447700900000")
self.assertTrue(result)
self.assertTrue(mock_delete.called)
mock_wipe.assert_not_called()
@patch("core.clients.transport._wipe_signal_cli_local_state")
@patch("requests.delete")
def test_signal_unlink_falls_back_to_local_wipe(
self,
mock_delete,
mock_wipe,
):
bad_response = Mock()
bad_response.ok = False
mock_delete.return_value = bad_response
mock_wipe.return_value = True
result = transport.unlink_account("signal", "+447700900000")
self.assertTrue(result)
self.assertEqual(2, mock_delete.call_count)
mock_wipe.assert_called_once()