from ..connection_invitation import ConnectionInvitation
from ...message_types import CONNECTION_INVITATION
from unittest import mock, TestCase
[docs]class TestConnectionInvitation(TestCase):
label = "Label"
did = "did:sov:QmWbsNYhMrjHiqZDTUTEJs"
endpoint_url = "https://example.com/endpoint"
endpoint_did = "did:sov:A2wBhNYhMrjHiqZDTUYH7u"
image_url = "https://example.com/image.jpg"
key = "8HH5gYEeNc3z7PYXmd54d4x6qAfCNrqQqEB3nS7Zfu7K"
[docs] def test_init(self):
connection_invitation = ConnectionInvitation(
label=self.label, recipient_keys=[self.key], endpoint=self.endpoint_url
)
assert connection_invitation.label == self.label
assert connection_invitation.recipient_keys == [self.key]
assert connection_invitation.endpoint == self.endpoint_url
connection_invitation = ConnectionInvitation(label=self.label, did=self.did)
assert connection_invitation.did == self.did
[docs] def test_type(self):
connection_invitation = ConnectionInvitation(
label=self.label, recipient_keys=[self.key], endpoint=self.endpoint_url
)
assert connection_invitation._type == CONNECTION_INVITATION
[docs] @mock.patch(
"aries_cloudagent.messaging.connections.messages."
+ "connection_invitation.ConnectionInvitationSchema.load"
)
def test_deserialize(self, mock_connection_invitation_schema_load):
obj = {"obj": "obj"}
connection_invitation = ConnectionInvitation.deserialize(obj)
mock_connection_invitation_schema_load.assert_called_once_with(obj)
assert (
connection_invitation is mock_connection_invitation_schema_load.return_value
)
[docs] @mock.patch(
"aries_cloudagent.messaging.connections.messages."
+ "connection_invitation.ConnectionInvitationSchema.dump"
)
def test_serialize(self, mock_connection_invitation_schema_dump):
connection_invitation = ConnectionInvitation(
label=self.label, recipient_keys=[self.key], endpoint=self.endpoint_url
)
connection_invitation_dict = connection_invitation.serialize()
mock_connection_invitation_schema_dump.assert_called_once_with(
connection_invitation
)
assert (
connection_invitation_dict
is mock_connection_invitation_schema_dump.return_value
)
[docs] def test_url_round_trip(self):
connection_invitation = ConnectionInvitation(
label=self.label, recipient_keys=[self.key], endpoint=self.endpoint_url
)
url = connection_invitation.to_url()
assert isinstance(url, str)
invitation = ConnectionInvitation.from_url(url)
assert isinstance(invitation, ConnectionInvitation)
[docs]class TestConnectionInvitationSchema(TestCase):
connection_invitation = ConnectionInvitation(
label="label", did="did:sov:QmWbsNYhMrjHiqZDTUTEJs"
)
[docs] def test_make_model(self):
data = self.connection_invitation.serialize()
model_instance = ConnectionInvitation.deserialize(data)
assert isinstance(model_instance, ConnectionInvitation)