def test_send_get_schema_as_client( looper, sdk_pool_handle, nodeSet, sdk_wallet_client, send_schema): _, did = sdk_wallet_client request = looper.loop.run_until_complete(build_get_schema_request(did, send_schema)) rep = sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_client, request)]) assert rep[0][1]['result']['seqNo']
def test_send_schema_with_fees(helpers, looper, nodeSetWithIntegratedTokenPlugin, sdk_wallet_trustee, sdk_pool_handle, fees_set, address_main, mint_tokens): req = helpers.request.schema_new(sdk_wallet=sdk_wallet_trustee) amount = get_amount_from_token_txn(mint_tokens) init_seq_no = 1 utxos = [{ "source": utxo_from_addr_and_seq_no(address_main, init_seq_no), AMOUNT: amount }] req = Request(**json.loads(req)) req = add_fees_request_with_address(helpers, fees_set, req, address_main, utxos=utxos) token_len = len(nodeSetWithIntegratedTokenPlugin[0].ledgers[-1]) write_rep = helpers.sdk.send_and_check_request_objects( [req], wallet=sdk_wallet_trustee) assert token_len == len( nodeSetWithIntegratedTokenPlugin[0].ledgers[-1]) - 1 assert get_last_token_txn(nodeSetWithIntegratedTokenPlugin )[1]['txn']['data']['fees'] == SCHEMA_FEE schema_id = write_rep[0][1]['result'][TXN_METADATA][TXN_METADATA_ID] request = looper.loop.run_until_complete( build_get_schema_request(sdk_wallet_trustee[1], schema_id)) read_rep = sdk_get_and_check_replies(looper, [ sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request) ]) assert req.operation[DATA] == read_rep[0][1]['result'][DATA]
def test_claim_def_reply_is_valid(looper, sdk_pool_handle, sdk_wallet_steward): wallet_handle, identifier = sdk_wallet_steward schema_json, _ = sdk_write_schema(looper, sdk_pool_handle, sdk_wallet_steward) schema_id = json.loads(schema_json)['id'] request = looper.loop.run_until_complete( build_get_schema_request(identifier, schema_id)) reply = sdk_get_reply( looper, sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_steward, request))[1] _, schema_json = looper.loop.run_until_complete( parse_get_schema_response(json.dumps(reply))) _, definition_json = looper.loop.run_until_complete( issuer_create_and_store_credential_def( wallet_handle, identifier, schema_json, "some_tag", "CL", json.dumps({"support_revocation": True}))) request = looper.loop.run_until_complete( build_cred_def_request(identifier, definition_json)) reply = sdk_get_reply( looper, sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_steward, request))[1] validate_write_reply(reply) validate_claim_def_txn(reply['result']['txn'])
def test_send_get_schema_fails_with_invalid_version( looper, sdk_pool_handle, nodeSet, sdk_wallet_trustee, send_schema): _, did = sdk_wallet_trustee request = looper.loop.run_until_complete(build_get_schema_request(did, send_schema)) request = modify_field(request, '2.0', OPERATION, DATA, VERSION) rep = sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)]) assert rep[0][1]['result']['seqNo'] is None
def test_send_get_schema_fails_with_invalid_version_syntax( looper, sdk_pool_handle, nodeSet, sdk_wallet_trustee, send_schema): _, did = sdk_wallet_trustee request = looper.loop.run_until_complete(build_get_schema_request(did, send_schema)) request = modify_field(request, 'asd', OPERATION, DATA, VERSION) with pytest.raises(RequestNackedException) as e: sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)]) e.match("Invalid version: 'asd'")
def test_send_get_schema_fails_with_invalid_dest( looper, sdk_pool_handle, nodeSet, sdk_wallet_trustee, send_schema): uuid_identifier = createUuidIdentifier() _, did = sdk_wallet_trustee request = looper.loop.run_until_complete(build_get_schema_request(did, send_schema)) request = modify_field(request, uuid_identifier, OPERATION, 'dest') rep = sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)]) assert rep[0][1]['result']['seqNo'] is None
def get_schema_json(looper, sdk_pool_handle, sdk_wallet_trustee): wallet_handle, identifier = sdk_wallet_trustee schema_json, _ = sdk_write_schema(looper, sdk_pool_handle, sdk_wallet_trustee) schema_id = json.loads(schema_json)['id'] request = looper.loop.run_until_complete(build_get_schema_request(identifier, schema_id)) reply = sdk_get_reply(looper, sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request))[1] _, schema_json = looper.loop.run_until_complete(parse_get_schema_response(json.dumps(reply))) return schema_json
def test_send_get_schema_fails_without_version( looper, sdk_pool_handle, nodeSet, sdk_wallet_trustee, send_schema): _, did = sdk_wallet_trustee request = looper.loop.run_until_complete(build_get_schema_request(did, send_schema)) request = json.loads(request) del request[OPERATION][DATA][VERSION] request = json.dumps(request) with pytest.raises(RequestNackedException) as e: sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)]) e.match('missed fields - version')
def req(request, looper, sdk_pool_handle, sdk_wallet_steward): wallet_handle, identifier = sdk_wallet_steward if request.param == "ATTRIB": raw = json.dumps({'answer': 42}) request_json = looper.loop.run_until_complete( build_attrib_request(identifier, identifier, raw=raw, xhash=None, enc=None)) elif request.param == "SCHEMA": _, schema_json = looper.loop.run_until_complete( issuer_create_schema(identifier, "name", "1.0", json.dumps(["first", "last"]))) request_json = looper.loop.run_until_complete( build_schema_request(identifier, schema_json)) elif request.param == "RS_SCHEMA": rs_schema = {'@id': "fakeId234e", '@type': "0od"} request_json = build_rs_schema_request(identifier, rs_schema, "ISO18023_Drivers_License", "1.1") elif request.param == "CLAIM_DEF": schema_json, _ = sdk_write_schema(looper, sdk_pool_handle, sdk_wallet_steward) schema_id = json.loads(schema_json)['id'] request = looper.loop.run_until_complete( build_get_schema_request(identifier, schema_id)) reply = sdk_get_reply( looper, sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_steward, request))[1] _, schema_json = looper.loop.run_until_complete( parse_get_schema_response(json.dumps(reply))) _, definition_json = looper.loop.run_until_complete( issuer_create_and_store_credential_def( wallet_handle, identifier, schema_json, "some_tag", "CL", json.dumps({"support_revocation": True}))) request_json = looper.loop.run_until_complete( build_cred_def_request(identifier, definition_json)) elif request.param == "NYM": idr, verkey = createHalfKeyIdentifierAndAbbrevVerkey() request_json = looper.loop.run_until_complete( build_nym_request(identifier, idr, verkey, None, None)) req_signed = looper.loop.run_until_complete( sign_request(wallet_handle, identifier, request_json)) return Request(**json.loads(req_signed))
def large_schema_json(looper, sdk_pool_handle, sdk_wallet_trustee): wallet_handle, identifier = sdk_wallet_trustee attrs = [ randomString(size=NAME_FIELD_LIMIT) for _ in range(SCHEMA_ATTRIBUTES_LIMIT) ] schema_json, _ = sdk_write_schema(looper, sdk_pool_handle, sdk_wallet_trustee, multi_attribute=attrs, name="name_large", version="2.0") schema_id = json.loads(schema_json)['id'] request = looper.loop.run_until_complete( build_get_schema_request(identifier, schema_id)) reply = sdk_get_reply( looper, sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request))[1] _, schema_json = looper.loop.run_until_complete( parse_get_schema_response(json.dumps(reply))) return schema_json