from unittest import mock, TestCase
from asynctest import TestCase as AsyncTestCase
from ...models.diddoc import DIDDoc, PublicKey, PublicKeyType, Service
from ...message_types import CONNECTION_REQUEST
from ..connection_request import ConnectionRequest, ConnectionDetail
[docs]class TestConfig:
test_seed = "testseed000000000000000000000001"
test_did = "55GkHamhTU1ZbTbV2ab9DE"
test_verkey = "3Dn1SJNPaCXcvvJvSbsFWP2xaCjMom3can8CQNhWrTRx"
test_label = "Label"
test_endpoint = "http://localhost"
[docs] def make_did_doc(self):
doc = DIDDoc(did=self.test_did)
controller = self.test_did
ident = "1"
pk_value = self.test_verkey
pk = PublicKey(
self.test_did,
ident,
pk_value,
PublicKeyType.ED25519_SIG_2018,
controller,
False,
)
doc.set(pk)
recip_keys = [pk]
router_keys = []
service = Service(
self.test_did,
"indy",
"IndyAgent",
recip_keys,
router_keys,
self.test_endpoint,
)
doc.set(service)
return doc
[docs]class TestConnectionRequest(TestCase, TestConfig):
[docs] def setUp(self):
self.connection_request = ConnectionRequest(
connection=ConnectionDetail(did=self.test_did, did_doc=self.make_did_doc()),
label=self.test_label,
)
[docs] def test_init(self):
"""Test initialization."""
assert self.connection_request.label == self.test_label
assert self.connection_request.connection.did == self.test_did
# assert self.connection_request.verkey == self.verkey
[docs] def test_type(self):
"""Test type."""
assert self.connection_request._type == CONNECTION_REQUEST
[docs] @mock.patch(
"aries_cloudagent.messaging.connections.messages."
+ "connection_request.ConnectionRequestSchema.load"
)
def test_deserialize(self, mock_connection_request_schema_load):
"""
Test deserialization.
"""
obj = {"obj": "obj"}
connection_request = ConnectionRequest.deserialize(obj)
mock_connection_request_schema_load.assert_called_once_with(obj)
assert connection_request is mock_connection_request_schema_load.return_value
[docs] @mock.patch(
"aries_cloudagent.messaging.connections.messages."
+ "connection_request.ConnectionRequestSchema.dump"
)
def test_serialize(self, mock_connection_request_schema_dump):
"""
Test serialization.
"""
connection_request_dict = self.connection_request.serialize()
mock_connection_request_schema_dump.assert_called_once_with(
self.connection_request
)
assert (
connection_request_dict is mock_connection_request_schema_dump.return_value
)
[docs]class TestConnectionRequestSchema(AsyncTestCase, TestConfig):
"""Test connection request schema."""
[docs] async def test_make_model(self):
connection_request = ConnectionRequest(
connection=ConnectionDetail(did=self.test_did, did_doc=self.make_did_doc()),
label=self.test_label,
)
data = connection_request.serialize()
model_instance = ConnectionRequest.deserialize(data)
assert type(model_instance) is type(connection_request)