Skip to content

Commit 5512566

Browse files
Merge pull request openwallet-foundation#1118 from sklump/unit-test-cover-endorser-routes
make long strings look like elsewhere in aca-py; cover new routes code
2 parents bc519ce + 395df77 commit 5512566

File tree

2 files changed

+86
-32
lines changed

2 files changed

+86
-32
lines changed

aries_cloudagent/protocols/endorse_transaction/v1_0/routes.py

Lines changed: 49 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -212,13 +212,6 @@ async def transaction_create_request(request: web.BaseRequest):
212212
transaction_record = await TransactionRecord.retrieve_by_id(
213213
session, transaction_id
214214
)
215-
except StorageNotFoundError as err:
216-
raise web.HTTPNotFound(reason=err.roll_up) from err
217-
except BaseModelError as err:
218-
raise web.HTTPBadRequest(reason=err.roll_up) from err
219-
220-
try:
221-
async with context.session() as session:
222215
connection_record = await ConnRecord.retrieve_by_id(
223216
session, transaction_record.connection_id
224217
)
@@ -231,18 +224,24 @@ async def transaction_create_request(request: web.BaseRequest):
231224
jobs = await connection_record.metadata_get(session, "transaction_jobs")
232225
if not jobs:
233226
raise web.HTTPForbidden(
234-
reason="The transaction related jobs are not set up in "
235-
"connection metadata for this connection record"
227+
reason=(
228+
"The transaction related jobs are not set up in "
229+
"connection metadata for this connection record"
230+
)
236231
)
237232
if "transaction_my_job" not in jobs.keys():
238233
raise web.HTTPForbidden(
239-
reason='The "transaction_my_job" is not set in "transaction_jobs"'
240-
" in connection metadata for this connection record"
234+
reason=(
235+
'The "transaction_my_job" is not set in "transaction_jobs" '
236+
"connection metadata for this connection record"
237+
)
241238
)
242239
if "transaction_their_job" not in jobs.keys():
243240
raise web.HTTPForbidden(
244-
reason='Ask the other agent to set up "transaction_my_job" '
245-
' in "transaction_jobs" in connection metadata for their connection record'
241+
reason=(
242+
'Ask the other agent to set up "transaction_my_job" in '
243+
'"transaction_jobs" in connection metadata for their connection record'
244+
)
246245
)
247246
if jobs["transaction_my_job"] != TransactionJob.TRANSACTION_AUTHOR.name:
248247
raise web.HTTPForbidden(reason="Only a TRANSACTION_AUTHOR can create a request")
@@ -319,8 +318,10 @@ async def endorse_transaction_response(request: web.BaseRequest):
319318
jobs = await connection_record.metadata_get(session, "transaction_jobs")
320319
if not jobs:
321320
raise web.HTTPForbidden(
322-
reason="The transaction related jobs are not set up in "
323-
"connection metadata for this connection record"
321+
reason=(
322+
"The transaction related jobs are not set up in "
323+
"connection metadata for this connection record"
324+
)
324325
)
325326
if jobs["transaction_my_job"] != TransactionJob.TRANSACTION_ENDORSER.name:
326327
raise web.HTTPForbidden(
@@ -418,8 +419,10 @@ async def refuse_transaction_response(request: web.BaseRequest):
418419
jobs = await connection_record.metadata_get(session, "transaction_jobs")
419420
if not jobs:
420421
raise web.HTTPForbidden(
421-
reason="The transaction related jobs are not set up in "
422-
"connection metadata for this connection record"
422+
reason=(
423+
"The transaction related jobs are not set up in "
424+
"connection metadata for this connection record"
425+
)
423426
)
424427
if jobs["transaction_my_job"] != TransactionJob.TRANSACTION_ENDORSER.name:
425428
raise web.HTTPForbidden(
@@ -485,8 +488,10 @@ async def cancel_transaction(request: web.BaseRequest):
485488
jobs = await connection_record.metadata_get(session, "transaction_jobs")
486489
if not jobs:
487490
raise web.HTTPForbidden(
488-
reason="The transaction related jobs are not set up in "
489-
"connection metadata for this connection record"
491+
reason=(
492+
"The transaction related jobs are not set up in "
493+
"connection metadata for this connection record"
494+
)
490495
)
491496
if jobs["transaction_my_job"] != TransactionJob.TRANSACTION_AUTHOR.name:
492497
raise web.HTTPForbidden(
@@ -550,8 +555,10 @@ async def transaction_resend(request: web.BaseRequest):
550555
jobs = await connection_record.metadata_get(session, "transaction_jobs")
551556
if not jobs:
552557
raise web.HTTPForbidden(
553-
reason="The transaction related jobs are not set up in "
554-
"connection metadata for this connection record"
558+
reason=(
559+
"The transaction related jobs are not set up in "
560+
"connection metadata for this connection record"
561+
)
555562
)
556563
if jobs["transaction_my_job"] != TransactionJob.TRANSACTION_AUTHOR.name:
557564
raise web.HTTPForbidden(
@@ -652,27 +659,35 @@ async def set_endorser_info(request: web.BaseRequest):
652659
jobs = await record.metadata_get(session, "transaction_jobs")
653660
if not jobs:
654661
raise web.HTTPForbidden(
655-
reason="The transaction related jobs are not set up in "
656-
"connection metadata for this connection record"
662+
reason=(
663+
"The transaction related jobs are not set up in "
664+
"connection metadata for this connection record"
665+
)
657666
)
658667
if "transaction_my_job" not in jobs.keys():
659668
raise web.HTTPForbidden(
660-
reason='The "transaction_my_job" is not set in "transaction_jobs"'
661-
" in connection metadata for this connection record"
669+
reason=(
670+
'The "transaction_my_job" is not set in "transaction_jobs"'
671+
" in connection metadata for this connection record"
672+
)
662673
)
663674
if "transaction_their_job" not in jobs.keys():
664675
raise web.HTTPForbidden(
665-
reason='Ask the other agent to set up "transaction_my_job" '
666-
' in "transaction_jobs" in connection metadata for their connection record'
676+
reason=(
677+
'Ask the other agent to set up "transaction_my_job" in '
678+
'"transaction_jobs" in connection metadata for their connection record'
679+
)
667680
)
668681
if jobs["transaction_my_job"] != TransactionJob.TRANSACTION_AUTHOR.name:
669682
raise web.HTTPForbidden(
670-
reason="Only a TRANSACTION_AUTHOR can add endorser_info "
671-
"to metadata of it's connection record"
683+
reason=(
684+
"Only a TRANSACTION_AUTHOR can add endorser_info "
685+
"to metadata of its connection record"
686+
)
672687
)
673688
if jobs["transaction_their_job"] != TransactionJob.TRANSACTION_ENDORSER.name:
674689
raise web.HTTPForbidden(
675-
reason="The Other agent should have a job of " "TRANSACTION_ENDORSER"
690+
reason="The Other agent should have job TRANSACTION_ENDORSER"
676691
)
677692
value = await record.metadata_get(session, "endorser_info")
678693
if value:
@@ -725,8 +740,10 @@ async def transaction_write(request: web.BaseRequest):
725740
jobs = await connection_record.metadata_get(session, "transaction_jobs")
726741
if not jobs:
727742
raise web.HTTPForbidden(
728-
reason="The transaction related jobs are not set up in "
729-
"connection metadata for this connection record"
743+
reason=(
744+
"The transaction related jobs are not set up in "
745+
"connection metadata for this connection record"
746+
)
730747
)
731748
if jobs["transaction_my_job"] != TransactionJob.TRANSACTION_AUTHOR.name:
732749
raise web.HTTPForbidden(

aries_cloudagent/protocols/endorse_transaction/v1_0/tests/test_routes.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,6 +1248,43 @@ async def test_set_endorser_info(self):
12481248
}
12491249
)
12501250

1251+
async def test_set_endorser_info_no_prior_value(self):
1252+
self.request.match_info = {"conn_id": "dummy"}
1253+
self.request.query = {"endorser_did": "did", "endorser_name": "name"}
1254+
with async_mock.patch.object(
1255+
ConnRecord, "retrieve_by_id", async_mock.CoroutineMock()
1256+
) as mock_conn_rec_retrieve, async_mock.patch.object(
1257+
test_module.web, "json_response"
1258+
) as mock_response:
1259+
mock_conn_rec_retrieve.return_value = async_mock.MagicMock(
1260+
metadata_get=async_mock.CoroutineMock(
1261+
side_effect=[
1262+
{
1263+
"transaction_my_job": (
1264+
test_module.TransactionJob.TRANSACTION_AUTHOR.name
1265+
),
1266+
"transaction_their_job": (
1267+
test_module.TransactionJob.TRANSACTION_ENDORSER.name
1268+
),
1269+
},
1270+
None,
1271+
{
1272+
"endorser_did": "did",
1273+
"endorser_name": "name",
1274+
},
1275+
]
1276+
),
1277+
metadata_set=async_mock.CoroutineMock(),
1278+
)
1279+
await test_module.set_endorser_info(self.request)
1280+
1281+
mock_response.assert_called_once_with(
1282+
{
1283+
"endorser_did": "did",
1284+
"endorser_name": "name",
1285+
}
1286+
)
1287+
12511288
async def test_set_endorser_info_not_found_x(self):
12521289
self.request.match_info = {"conn_id": "dummy"}
12531290
self.request.query = {"endorser_did": "did", "endorser_name": "name"}

0 commit comments

Comments
 (0)