forked from openwallet-foundation/acapy
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into fix/read-only-ledger-tweaks
- Loading branch information
Showing
41 changed files
with
1,919 additions
and
145 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
"""Version definitions for this protocol.""" | ||
|
||
versions = [ | ||
{ | ||
"major_version": 1, | ||
"minimum_minor_version": 0, | ||
"current_minor_version": 0, | ||
"path": "v1_0", | ||
} | ||
] |
Empty file.
Empty file.
29 changes: 29 additions & 0 deletions
29
aries_cloudagent/protocols/did_rotate/v1_0/handlers/ack_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
"""Rotate ack handler.""" | ||
|
||
from .....messaging.base_handler import BaseHandler | ||
from .....messaging.request_context import RequestContext | ||
from .....messaging.responder import BaseResponder | ||
from ..manager import DIDRotateManager | ||
from ..messages.ack import RotateAck | ||
|
||
|
||
class RotateAckHandler(BaseHandler): | ||
"""Message handler class for rotate ack message.""" | ||
|
||
async def handle(self, context: RequestContext, responder: BaseResponder): | ||
"""Handle rotate ack message. | ||
Args: | ||
context: request context | ||
responder: responder callback | ||
""" | ||
self._logger.debug("RotateAckHandler called with context %s", context) | ||
assert isinstance(context.message, RotateAck) | ||
|
||
connection_record = context.connection_record | ||
ack = context.message | ||
|
||
profile = context.profile | ||
did_rotate_mgr = DIDRotateManager(profile) | ||
|
||
await did_rotate_mgr.receive_ack(connection_record, ack) |
28 changes: 28 additions & 0 deletions
28
aries_cloudagent/protocols/did_rotate/v1_0/handlers/hangup_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
"""Rotate hangup handler.""" | ||
|
||
from .....messaging.base_handler import BaseHandler | ||
from .....messaging.request_context import RequestContext | ||
from .....messaging.responder import BaseResponder | ||
from ..manager import DIDRotateManager | ||
from ..messages.hangup import Hangup | ||
|
||
|
||
class HangupHandler(BaseHandler): | ||
"""Message handler class for rotate message.""" | ||
|
||
async def handle(self, context: RequestContext, responder: BaseResponder): | ||
"""Handle rotate hangup message. | ||
Args: | ||
context: request context | ||
responder: responder callback | ||
""" | ||
self._logger.debug("HangupHandler called with context %s", context) | ||
assert isinstance(context.message, Hangup) | ||
|
||
connection_record = context.connection_record | ||
|
||
profile = context.profile | ||
did_rotate_mgr = DIDRotateManager(profile) | ||
|
||
await did_rotate_mgr.receive_hangup(connection_record) |
28 changes: 28 additions & 0 deletions
28
aries_cloudagent/protocols/did_rotate/v1_0/handlers/problem_report_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
"""Rotate problem report handler.""" | ||
|
||
from .....messaging.base_handler import BaseHandler | ||
from .....messaging.request_context import RequestContext | ||
from .....messaging.responder import BaseResponder | ||
from ..manager import DIDRotateManager | ||
from ..messages.problem_report import RotateProblemReport | ||
|
||
|
||
class ProblemReportHandler(BaseHandler): | ||
"""Message handler class for rotate message.""" | ||
|
||
async def handle(self, context: RequestContext, responder: BaseResponder): | ||
"""Handle rotate problem report message. | ||
Args: | ||
context: request context | ||
responder: responder callback | ||
""" | ||
self._logger.debug("ProblemReportHandler called with context %s", context) | ||
assert isinstance(context.message, RotateProblemReport) | ||
|
||
problem_report = context.message | ||
|
||
profile = context.profile | ||
did_rotate_mgr = DIDRotateManager(profile) | ||
|
||
await did_rotate_mgr.receive_problem_report(problem_report) |
30 changes: 30 additions & 0 deletions
30
aries_cloudagent/protocols/did_rotate/v1_0/handlers/rotate_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
"""Rotate handler.""" | ||
|
||
from .....messaging.base_handler import BaseHandler | ||
from .....messaging.request_context import RequestContext | ||
from .....messaging.responder import BaseResponder | ||
from ..manager import DIDRotateManager | ||
from ..messages.rotate import Rotate | ||
|
||
|
||
class RotateHandler(BaseHandler): | ||
"""Message handler class for rotate message.""" | ||
|
||
async def handle(self, context: RequestContext, responder: BaseResponder): | ||
"""Handle rotate message. | ||
Args: | ||
context: request context | ||
responder: responder callback | ||
""" | ||
self._logger.debug("RotateHandler called with context %s", context) | ||
assert isinstance(context.message, Rotate) | ||
|
||
connection_record = context.connection_record | ||
rotate = context.message | ||
|
||
profile = context.profile | ||
did_rotate_mgr = DIDRotateManager(profile) | ||
|
||
if record := await did_rotate_mgr.receive_rotate(connection_record, rotate): | ||
await did_rotate_mgr.commit_rotate(connection_record, record) |
Empty file.
33 changes: 33 additions & 0 deletions
33
aries_cloudagent/protocols/did_rotate/v1_0/handlers/tests/test_ack_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import pytest | ||
|
||
from ......messaging.request_context import RequestContext | ||
from ......messaging.responder import MockResponder | ||
from ......tests import mock | ||
from ...messages.ack import RotateAck | ||
from .. import ack_handler as test_module | ||
|
||
|
||
@pytest.fixture() | ||
def request_context(): | ||
ctx = RequestContext.test_context() | ||
yield ctx | ||
|
||
|
||
class TestAckHandler: | ||
"""Unit tests for AckHandler.""" | ||
|
||
@pytest.mark.asyncio | ||
@mock.patch.object(test_module, "DIDRotateManager") | ||
async def test_handle(self, MockDIDRotateManager, request_context): | ||
MockDIDRotateManager.return_value.receive_ack = mock.CoroutineMock() | ||
|
||
request_context.message = RotateAck() | ||
request_context.connection_record = mock.MagicMock() | ||
|
||
handler = test_module.RotateAckHandler() | ||
responder = MockResponder() | ||
await handler.handle(request_context, responder) | ||
|
||
MockDIDRotateManager.return_value.receive_ack.assert_called_once_with( | ||
request_context.connection_record, request_context.message | ||
) |
33 changes: 33 additions & 0 deletions
33
aries_cloudagent/protocols/did_rotate/v1_0/handlers/tests/test_hangup_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import pytest | ||
|
||
from ......messaging.request_context import RequestContext | ||
from ......messaging.responder import MockResponder | ||
from ......tests import mock | ||
from ...messages.hangup import Hangup | ||
from .. import hangup_handler as test_module | ||
|
||
|
||
@pytest.fixture() | ||
def request_context(): | ||
ctx = RequestContext.test_context() | ||
yield ctx | ||
|
||
|
||
class TestHangupHandler: | ||
"""Unit tests for HangupHandler.""" | ||
|
||
@pytest.mark.asyncio | ||
@mock.patch.object(test_module, "DIDRotateManager") | ||
async def test_handle(self, MockDIDRotateManager, request_context): | ||
MockDIDRotateManager.return_value.receive_hangup = mock.CoroutineMock() | ||
|
||
request_context.message = Hangup() | ||
request_context.connection_record = mock.MagicMock() | ||
|
||
handler = test_module.HangupHandler() | ||
responder = MockResponder() | ||
await handler.handle(request_context, responder) | ||
|
||
MockDIDRotateManager.return_value.receive_hangup.assert_called_once_with( | ||
request_context.connection_record | ||
) |
37 changes: 37 additions & 0 deletions
37
aries_cloudagent/protocols/did_rotate/v1_0/handlers/tests/test_problem_report_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
import pytest | ||
|
||
from ......messaging.request_context import RequestContext | ||
from ......messaging.responder import MockResponder | ||
from ......tests import mock | ||
from ...messages.problem_report import RotateProblemReport | ||
from .. import problem_report_handler as test_module | ||
|
||
test_valid_rotate_request = { | ||
"to_did": "did:example:newdid", | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def request_context(): | ||
ctx = RequestContext.test_context() | ||
yield ctx | ||
|
||
|
||
class TestProblemReportHandler: | ||
"""Unit tests for ProblemReportHandler.""" | ||
|
||
@pytest.mark.asyncio | ||
@mock.patch.object(test_module, "DIDRotateManager") | ||
async def test_handle(self, MockDIDRotateManager, request_context): | ||
MockDIDRotateManager.return_value.receive_problem_report = mock.CoroutineMock() | ||
|
||
request_context.message = RotateProblemReport() | ||
request_context.connection_record = mock.MagicMock() | ||
|
||
handler = test_module.ProblemReportHandler() | ||
responder = MockResponder() | ||
await handler.handle(request_context, responder) | ||
|
||
MockDIDRotateManager.return_value.receive_problem_report.assert_called_once_with( | ||
request_context.message | ||
) |
42 changes: 42 additions & 0 deletions
42
aries_cloudagent/protocols/did_rotate/v1_0/handlers/tests/test_rotate_handler.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
import pytest | ||
|
||
from ......messaging.request_context import RequestContext | ||
from ......messaging.responder import MockResponder | ||
from ......tests import mock | ||
from ...messages.rotate import Rotate | ||
from .. import rotate_handler as test_module | ||
|
||
test_valid_rotate_request = { | ||
"to_did": "did:example:newdid", | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def request_context(): | ||
ctx = RequestContext.test_context() | ||
yield ctx | ||
|
||
|
||
class TestRotateHandler: | ||
"""Unit tests for RotateHandler.""" | ||
|
||
@pytest.mark.asyncio | ||
@mock.patch.object(test_module, "DIDRotateManager") | ||
async def test_handle(self, MockDIDRotateManager, request_context): | ||
MockDIDRotateManager.return_value.receive_rotate = mock.CoroutineMock() | ||
MockDIDRotateManager.return_value.commit_rotate = mock.CoroutineMock() | ||
|
||
request_context.message = Rotate(**test_valid_rotate_request) | ||
request_context.connection_record = mock.MagicMock() | ||
|
||
handler = test_module.RotateHandler() | ||
responder = MockResponder() | ||
await handler.handle(request_context, responder) | ||
|
||
MockDIDRotateManager.return_value.receive_rotate.assert_called_once_with( | ||
request_context.connection_record, request_context.message | ||
) | ||
MockDIDRotateManager.return_value.commit_rotate.assert_called_once_with( | ||
request_context.connection_record, | ||
MockDIDRotateManager.return_value.receive_rotate.return_value, | ||
) |
Oops, something went wrong.