28 lines
1016 B
Python
28 lines
1016 B
Python
from asgiref.sync import async_to_sync
|
|
from django.test import SimpleTestCase
|
|
|
|
from core.clients import transport
|
|
from core.transports.capabilities import capability_snapshot, supports, unsupported_reason
|
|
|
|
|
|
class TransportCapabilitiesTests(SimpleTestCase):
|
|
def test_signal_reactions_supported(self):
|
|
self.assertTrue(supports("signal", "reactions"))
|
|
|
|
def test_instagram_reactions_not_supported(self):
|
|
self.assertFalse(supports("instagram", "reactions"))
|
|
self.assertIn("instagram does not support reactions", unsupported_reason("instagram", "reactions"))
|
|
|
|
def test_snapshot_has_schema_version(self):
|
|
snapshot = capability_snapshot()
|
|
self.assertIn("schema_version", snapshot)
|
|
self.assertIn("services", snapshot)
|
|
|
|
def test_transport_send_fails_fast_when_unsupported(self):
|
|
result = async_to_sync(transport.send_message_raw)(
|
|
"xmpp",
|
|
"person@example.com",
|
|
text="hello",
|
|
)
|
|
self.assertFalse(result)
|