|
16 | 16 | from .....anoncreds.base import AnonCredsSchemaAlreadyExists |
17 | 17 | from .....anoncreds.default.legacy_indy import registry as test_module |
18 | 18 | from .....anoncreds.issuer import AnonCredsIssuer |
19 | | -from .....askar.profile_anon import ( |
20 | | - AskarAnoncredsProfileSession, |
21 | | -) |
| 19 | +from .....askar.profile_anon import AskarAnoncredsProfileSession |
22 | 20 | from .....connections.models.conn_record import ConnRecord |
23 | 21 | from .....core.event_bus import EventBus |
24 | 22 | from .....ledger.base import BaseLedger |
|
31 | 29 | from .....protocols.endorse_transaction.v1_0.models.transaction_record import ( |
32 | 30 | TransactionRecord, |
33 | 31 | ) |
34 | | -from .....revocation_anoncreds.models.issuer_cred_rev_record import ( |
35 | | - IssuerCredRevRecord, |
36 | | -) |
| 32 | +from .....revocation_anoncreds.models.issuer_cred_rev_record import IssuerCredRevRecord |
37 | 33 | from .....tests import mock |
38 | 34 | from .....utils.testing import create_test_profile |
39 | 35 | from ....models.credential_definition import ( |
|
51 | 47 | RevRegDefValue, |
52 | 48 | ) |
53 | 49 | from ....models.schema import AnonCredsSchema, GetSchemaResult, SchemaResult |
| 50 | +from .....core.profile import Profile |
| 51 | +from .....wallet.did_info import DIDInfo |
54 | 52 |
|
55 | 53 | B58 = alphabet if isinstance(alphabet, str) else alphabet.decode("ascii") |
56 | 54 | INDY_DID = rf"^(did:sov:)?[{B58}]{{21,22}}$" |
@@ -1219,3 +1217,92 @@ async def test_get_schem_info(self): |
1219 | 1217 | assert result.issuer_id == "XduBsoPyEA4szYMy3pZ8De" |
1220 | 1218 | assert result.name == "minimal-33279d005748b3cc" |
1221 | 1219 | assert result.version == "1.0" |
| 1220 | + |
| 1221 | + @mock.patch.object( |
| 1222 | + IndyLedgerRequestsExecutor, |
| 1223 | + "get_ledger_for_identifier", |
| 1224 | + return_value=( |
| 1225 | + "mock_ledger_id", |
| 1226 | + mock.MagicMock( |
| 1227 | + spec=BaseLedger, |
| 1228 | + send_revoc_reg_entry=mock.CoroutineMock(return_value="mock_seq_no"), |
| 1229 | + __aenter__=mock.CoroutineMock(return_value=mock.MagicMock()), |
| 1230 | + __aexit__=mock.CoroutineMock(return_value=None), |
| 1231 | + profile=mock.MagicMock(spec=Profile), |
| 1232 | + ), |
| 1233 | + ), |
| 1234 | + ) |
| 1235 | + @mock.patch.object(AskarAnoncredsProfileSession, "handle") |
| 1236 | + async def test_register_revocation_list_passes_profile( |
| 1237 | + self, mock_askar_handle, mock_get_ledger_for_id |
| 1238 | + ): |
| 1239 | + """Test register_revocation_list passes profile kwarg via helper.""" |
| 1240 | + self.profile.inject_or = mock.MagicMock() |
| 1241 | + |
| 1242 | + test_profile = self.profile |
| 1243 | + |
| 1244 | + test_rev_reg_def = RevRegDef( |
| 1245 | + tag="tag", |
| 1246 | + cred_def_id="IssuerDID:3:CL:1:tag", |
| 1247 | + value=RevRegDefValue( |
| 1248 | + max_cred_num=100, public_keys={}, tails_hash="", tails_location="" |
| 1249 | + ), |
| 1250 | + issuer_id="IssuerDID", |
| 1251 | + type="CL_ACCUM", |
| 1252 | + ) |
| 1253 | + test_rev_list = RevList( |
| 1254 | + issuer_id="IssuerDID", |
| 1255 | + current_accumulator="dummy_accum_value", |
| 1256 | + revocation_list=[0], |
| 1257 | + timestamp=1234567890, |
| 1258 | + rev_reg_def_id="IssuerDID:4:IssuerDID:3:CL:1:tag:CL_ACCUM:tag", |
| 1259 | + ) |
| 1260 | + |
| 1261 | + await self.registry.register_revocation_list( |
| 1262 | + test_profile, |
| 1263 | + test_rev_reg_def, |
| 1264 | + test_rev_list, |
| 1265 | + {}, |
| 1266 | + ) |
| 1267 | + |
| 1268 | + mock_ledger_instance = mock_get_ledger_for_id.return_value[1] |
| 1269 | + |
| 1270 | + mock_ledger_instance.send_revoc_reg_entry.assert_called_once() |
| 1271 | + |
| 1272 | + _call_args, call_kwargs = mock_ledger_instance.send_revoc_reg_entry.call_args |
| 1273 | + |
| 1274 | + assert "profile" in call_kwargs |
| 1275 | + assert call_kwargs["profile"] is test_profile |
| 1276 | + assert call_kwargs["write_ledger"] is True |
| 1277 | + |
| 1278 | + async def test_registry_txn_submit_passes_profile(self): |
| 1279 | + """Test registry txn_submit passes profile kwarg to ledger txn_submit.""" |
| 1280 | + mock_ledger = mock.MagicMock(BaseLedger, autospec=True) |
| 1281 | + mock_ledger.txn_submit = mock.CoroutineMock(return_value="mock_ledger_response") |
| 1282 | + mock_ledger.__aenter__ = mock.CoroutineMock(return_value=mock_ledger) |
| 1283 | + mock_ledger.__aexit__ = mock.CoroutineMock(return_value=None) |
| 1284 | + |
| 1285 | + test_profile = self.profile |
| 1286 | + test_txn_data = '{"a": 1}' |
| 1287 | + test_sign_did = mock.MagicMock(spec=DIDInfo) |
| 1288 | + |
| 1289 | + await self.registry.txn_submit( |
| 1290 | + ledger=mock_ledger, |
| 1291 | + ledger_transaction=test_txn_data, |
| 1292 | + sign=True, |
| 1293 | + taa_accept=True, |
| 1294 | + sign_did=test_sign_did, |
| 1295 | + write_ledger=True, |
| 1296 | + profile=test_profile, |
| 1297 | + ) |
| 1298 | + |
| 1299 | + mock_ledger.txn_submit.assert_called_once() |
| 1300 | + |
| 1301 | + _call_args, call_kwargs = mock_ledger.txn_submit.call_args |
| 1302 | + |
| 1303 | + assert "profile" in call_kwargs |
| 1304 | + assert call_kwargs["profile"] is test_profile |
| 1305 | + assert call_kwargs["sign"] is True |
| 1306 | + assert call_kwargs["taa_accept"] is True |
| 1307 | + assert call_kwargs["sign_did"] is test_sign_did |
| 1308 | + assert call_kwargs["write_ledger"] is True |
0 commit comments