9
9
from ....tails .base import BaseTailsServer
10
10
11
11
from .. import routes as test_module
12
+ from ....connections .models .conn_record import ConnRecord
12
13
13
14
14
15
SCHEMA_ID = "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0"
@@ -67,7 +68,7 @@ async def test_send_credential_definition(self):
67
68
}
68
69
)
69
70
70
- self .request .query = {"auto_endorse " : "true " }
71
+ self .request .query = {"create_transaction_for_endorser " : "false " }
71
72
72
73
with async_mock .patch .object (test_module .web , "json_response" ) as mock_response :
73
74
result = (
@@ -89,7 +90,7 @@ async def test_send_credential_definition_revoc(self):
89
90
}
90
91
)
91
92
92
- self .request .query = {"auto_endorse " : "true " }
93
+ self .request .query = {"create_transaction_for_endorser " : "false " }
93
94
94
95
self .context .profile .settings .set_value (
95
96
"tails_server_base_url" , "http://1.2.3.4:8222"
@@ -133,7 +134,7 @@ async def test_send_credential_definition_revoc_no_tails_server_x(self):
133
134
}
134
135
)
135
136
136
- self .request .query = {"auto_endorse " : "true " }
137
+ self .request .query = {"create_transaction_for_endorser " : "false " }
137
138
138
139
with self .assertRaises (test_module .web .HTTPBadRequest ):
139
140
await test_module .credential_definitions_send_credential_definition (
@@ -149,7 +150,7 @@ async def test_send_credential_definition_revoc_no_support_x(self):
149
150
}
150
151
)
151
152
152
- self .request .query = {"auto_endorse " : "true " }
153
+ self .request .query = {"create_transaction_for_endorser " : "false " }
153
154
154
155
self .context .profile .settings .set_value (
155
156
"tails_server_base_url" , "http://1.2.3.4:8222"
@@ -177,7 +178,7 @@ async def test_send_credential_definition_revoc_upload_x(self):
177
178
}
178
179
)
179
180
180
- self .request .query = {"auto_endorse " : "true " }
181
+ self .request .query = {"create_transaction_for_endorser " : "false " }
181
182
182
183
self .context .profile .settings .set_value (
183
184
"tails_server_base_url" , "http://1.2.3.4:8222"
@@ -218,7 +219,7 @@ async def test_send_credential_definition_revoc_init_issuer_rev_reg_x(self):
218
219
}
219
220
)
220
221
221
- self .request .query = {"auto_endorse " : "true " }
222
+ self .request .query = {"create_transaction_for_endorser " : "false " }
222
223
223
224
self .context .profile .settings .set_value (
224
225
"tails_server_base_url" , "http://1.2.3.4:8222"
@@ -250,7 +251,7 @@ async def test_send_credential_definition_revoc_init_issuer_rev_reg_x(self):
250
251
self .request
251
252
)
252
253
253
- async def test_send_credential_definition_no_auto_endorse (self ):
254
+ async def test_send_credential_definition_create_transaction_for_endorser (self ):
254
255
self .request .json = async_mock .CoroutineMock (
255
256
return_value = {
256
257
"schema_id" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" ,
@@ -259,9 +260,14 @@ async def test_send_credential_definition_no_auto_endorse(self):
259
260
}
260
261
)
261
262
262
- self .request .query = {"auto_endorse" : "false" }
263
+ self .request .query = {
264
+ "create_transaction_for_endorser" : "true" ,
265
+ "conn_id" : "dummy" ,
266
+ }
263
267
264
268
with async_mock .patch .object (
269
+ ConnRecord , "retrieve_by_id" , async_mock .CoroutineMock ()
270
+ ) as mock_conn_rec_retrieve , async_mock .patch .object (
265
271
test_module , "TransactionManager" , async_mock .MagicMock ()
266
272
) as mock_txn_mgr , async_mock .patch .object (
267
273
test_module .web , "json_response" , async_mock .MagicMock ()
@@ -273,6 +279,14 @@ async def test_send_credential_definition_no_auto_endorse(self):
273
279
)
274
280
)
275
281
)
282
+ mock_conn_rec_retrieve .return_value = async_mock .MagicMock (
283
+ metadata_get = async_mock .CoroutineMock (
284
+ return_value = {
285
+ "endorser_did" : ("did" ),
286
+ "endorser_name" : ("name" ),
287
+ }
288
+ )
289
+ )
276
290
result = (
277
291
await test_module .credential_definitions_send_credential_definition (
278
292
self .request
@@ -281,7 +295,9 @@ async def test_send_credential_definition_no_auto_endorse(self):
281
295
assert result == mock_response .return_value
282
296
mock_response .assert_called_once_with ({"txn" : {"..." : "..." }})
283
297
284
- async def test_send_credential_definition_no_auto_endorse_storage_x (self ):
298
+ async def test_send_credential_definition_create_transaction_for_endorser_storage_x (
299
+ self ,
300
+ ):
285
301
self .request .json = async_mock .CoroutineMock (
286
302
return_value = {
287
303
"schema_id" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" ,
@@ -290,11 +306,25 @@ async def test_send_credential_definition_no_auto_endorse_storage_x(self):
290
306
}
291
307
)
292
308
293
- self .request .query = {"auto_endorse" : "false" }
309
+ self .request .query = {
310
+ "create_transaction_for_endorser" : "true" ,
311
+ "conn_id" : "dummy" ,
312
+ }
294
313
295
314
with async_mock .patch .object (
315
+ ConnRecord , "retrieve_by_id" , async_mock .CoroutineMock ()
316
+ ) as mock_conn_rec_retrieve , async_mock .patch .object (
296
317
test_module , "TransactionManager" , async_mock .MagicMock ()
297
318
) as mock_txn_mgr :
319
+
320
+ mock_conn_rec_retrieve .return_value = async_mock .MagicMock (
321
+ metadata_get = async_mock .CoroutineMock (
322
+ return_value = {
323
+ "endorser_did" : ("did" ),
324
+ "endorser_name" : ("name" ),
325
+ }
326
+ )
327
+ )
298
328
mock_txn_mgr .return_value = async_mock .MagicMock (
299
329
create_record = async_mock .CoroutineMock (
300
330
side_effect = test_module .StorageError ()
@@ -306,6 +336,116 @@ async def test_send_credential_definition_no_auto_endorse_storage_x(self):
306
336
self .request
307
337
)
308
338
339
+ async def test_send_credential_definition_create_transaction_for_endorser_not_found_x (
340
+ self ,
341
+ ):
342
+ self .request .json = async_mock .CoroutineMock (
343
+ return_value = {
344
+ "schema_id" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" ,
345
+ "support_revocation" : False ,
346
+ "tag" : "tag" ,
347
+ }
348
+ )
349
+
350
+ self .request .query = {
351
+ "create_transaction_for_endorser" : "true" ,
352
+ "conn_id" : "dummy" ,
353
+ }
354
+
355
+ with async_mock .patch .object (
356
+ ConnRecord , "retrieve_by_id" , async_mock .CoroutineMock ()
357
+ ) as mock_conn_rec_retrieve :
358
+ mock_conn_rec_retrieve .side_effect = test_module .StorageNotFoundError ()
359
+
360
+ with self .assertRaises (test_module .web .HTTPNotFound ):
361
+ await test_module .credential_definitions_send_credential_definition (
362
+ self .request
363
+ )
364
+
365
+ async def test_send_credential_definition_create_transaction_for_endorser_base_model_x (
366
+ self ,
367
+ ):
368
+ self .request .json = async_mock .CoroutineMock (
369
+ return_value = {
370
+ "schema_id" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" ,
371
+ "support_revocation" : False ,
372
+ "tag" : "tag" ,
373
+ }
374
+ )
375
+
376
+ self .request .query = {
377
+ "create_transaction_for_endorser" : "true" ,
378
+ "conn_id" : "dummy" ,
379
+ }
380
+
381
+ with async_mock .patch .object (
382
+ ConnRecord , "retrieve_by_id" , async_mock .CoroutineMock ()
383
+ ) as mock_conn_rec_retrieve :
384
+ mock_conn_rec_retrieve .side_effect = test_module .BaseModelError ()
385
+
386
+ with self .assertRaises (test_module .web .HTTPBadRequest ):
387
+ await test_module .credential_definitions_send_credential_definition (
388
+ self .request
389
+ )
390
+
391
+ async def test_send_credential_definition_create_transaction_for_endorser_no_endorser_info_x (
392
+ self ,
393
+ ):
394
+ self .request .json = async_mock .CoroutineMock (
395
+ return_value = {
396
+ "schema_id" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" ,
397
+ "support_revocation" : False ,
398
+ "tag" : "tag" ,
399
+ }
400
+ )
401
+
402
+ self .request .query = {
403
+ "create_transaction_for_endorser" : "true" ,
404
+ "conn_id" : "dummy" ,
405
+ }
406
+
407
+ with async_mock .patch .object (
408
+ ConnRecord , "retrieve_by_id" , async_mock .CoroutineMock ()
409
+ ) as mock_conn_rec_retrieve :
410
+ mock_conn_rec_retrieve .return_value = async_mock .MagicMock (
411
+ metadata_get = async_mock .CoroutineMock (return_value = None )
412
+ )
413
+ with self .assertRaises (test_module .web .HTTPForbidden ):
414
+ await test_module .credential_definitions_send_credential_definition (
415
+ self .request
416
+ )
417
+
418
+ async def test_send_credential_definition_create_transaction_for_endorser_no_endorser_did_x (
419
+ self ,
420
+ ):
421
+ self .request .json = async_mock .CoroutineMock (
422
+ return_value = {
423
+ "schema_id" : "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" ,
424
+ "support_revocation" : False ,
425
+ "tag" : "tag" ,
426
+ }
427
+ )
428
+
429
+ self .request .query = {
430
+ "create_transaction_for_endorser" : "true" ,
431
+ "conn_id" : "dummy" ,
432
+ }
433
+
434
+ with async_mock .patch .object (
435
+ ConnRecord , "retrieve_by_id" , async_mock .CoroutineMock ()
436
+ ) as mock_conn_rec_retrieve :
437
+ mock_conn_rec_retrieve .return_value = async_mock .MagicMock (
438
+ metadata_get = async_mock .CoroutineMock (
439
+ return_value = {
440
+ "endorser_name" : ("name" ),
441
+ }
442
+ )
443
+ )
444
+ with self .assertRaises (test_module .web .HTTPForbidden ):
445
+ await test_module .credential_definitions_send_credential_definition (
446
+ self .request
447
+ )
448
+
309
449
async def test_send_credential_definition_no_ledger (self ):
310
450
self .request .json = async_mock .CoroutineMock (
311
451
return_value = {
@@ -331,7 +471,7 @@ async def test_send_credential_definition_ledger_x(self):
331
471
}
332
472
)
333
473
334
- self .request .query = {"auto_endorse " : "true " }
474
+ self .request .query = {"create_transaction_for_endorser " : "false " }
335
475
336
476
self .ledger .__aenter__ = async_mock .CoroutineMock (
337
477
side_effect = test_module .LedgerError ("oops" )
0 commit comments