Exemplo n.º 1
0
def test_can_send_same_claim_def_by_different_issuers(looper, sdk_pool_handle,
                                                      nodeSet,
                                                      sdk_wallet_trustee,
                                                      sdk_wallet_steward,
                                                      schema_json):
    wallet_handle, identifier = sdk_wallet_trustee

    _, definition_json = looper.loop.run_until_complete(
        issuer_create_and_store_credential_def(
            wallet_handle, identifier, schema_json, "some_tag4", "CL",
            json.dumps({"support_revocation": True})))
    request = looper.loop.run_until_complete(
        build_cred_def_request(identifier, definition_json))
    sdk_get_and_check_replies(looper, [
        sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)
    ])

    wallet_handle, identifier = sdk_wallet_steward
    _, definition_json = looper.loop.run_until_complete(
        issuer_create_and_store_credential_def(
            wallet_handle, identifier, schema_json, "some_tag4", "CL",
            json.dumps({"support_revocation": True})))
    request = looper.loop.run_until_complete(
        build_cred_def_request(identifier, definition_json))
    sdk_get_and_check_replies(looper, [
        sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_steward, request)
    ])
Exemplo n.º 2
0
def test_update_claim_def_for_same_schema_and_signature_type(
        looper, sdk_pool_handle, nodeSet, sdk_wallet_trustee, schema_json):
    wallet_handle, identifier = sdk_wallet_trustee

    _, definition_json = looper.loop.run_until_complete(issuer_create_and_store_credential_def(
        wallet_handle, identifier, schema_json, "some_tag3", "CL", json.dumps({"support_revocation": True})))
    request = looper.loop.run_until_complete(build_cred_def_request(identifier, definition_json))
    sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)])

    definition_json = modify_field(definition_json, '999', 'value', 'primary', 'n')
    request = looper.loop.run_until_complete(build_cred_def_request(identifier, definition_json))
    sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)])
Exemplo n.º 3
0
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_claim_def_schema_and_claim_def_in_one_batch(
        looper, tconf, sdk_pool_handle, nodeSet, sdk_wallet_trustee):
    with max_3pc_batch_limits(tconf, size=2) as tconf:
        initial_seq_no = nodeSet[0].domainLedger.size
        wallet_handle, identifier = sdk_wallet_trustee

        # send SCHEMA
        _, schema_json = looper.loop.run_until_complete(
            issuer_create_schema(identifier, "name2", "2.0",
                                 json.dumps(["first", "last"])))
        schema_req_json = looper.loop.run_until_complete(
            build_schema_request(identifier, schema_json))
        schema_req = sdk_sign_and_submit_req(sdk_pool_handle,
                                             sdk_wallet_trustee,
                                             schema_req_json)

        # send CLAIM_DEF
        _, claim_def_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})))
        claim_def_req_json = looper.loop.run_until_complete(
            build_cred_def_request(identifier, claim_def_json))
        claim_def_req_json = modify_field(claim_def_req_json,
                                          initial_seq_no + 1, OPERATION, REF)
        claim_def_req = sdk_sign_and_submit_req(sdk_pool_handle,
                                                sdk_wallet_trustee,
                                                claim_def_req_json)

        # check both are written
        sdk_get_and_check_replies(looper, [schema_req, claim_def_req])
Exemplo n.º 5
0
 def sdk_build_claim_def(self, schema_json, identifier=None, sdk_wallet=None):
     sdk_wallet = sdk_wallet or self._wallet_steward
     identifier = identifier or sdk_wallet[1]
     wallet_handle, _ = sdk_wallet
     _, definition_json = self._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 = self._looper.loop.run_until_complete(build_cred_def_request(identifier, definition_json))
     return request
Exemplo n.º 6
0
def sdk_send_claim_def(looper, sdk_pool_handle, sdk_wallet, tag, schema_json):
    wallet_handle, identifier = sdk_wallet

    _, definition_json = looper.loop.run_until_complete(issuer_create_and_store_credential_def(
        wallet_handle, identifier, schema_json, tag, "CL", json.dumps({"support_revocation": True})))
    request = looper.loop.run_until_complete(build_cred_def_request(identifier, definition_json))
    reply = sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet, request)])
    return reply
Exemplo n.º 7
0
def test_send_claim_def_fails_if_ref_is_not_existing_seqno(
        looper, sdk_pool_handle, nodeSet, sdk_wallet_trustee, schema_json):
    wallet_handle, identifier = sdk_wallet_trustee

    _, definition_json = looper.loop.run_until_complete(issuer_create_and_store_credential_def(
        wallet_handle, identifier, schema_json, "some_tag2", "CL", json.dumps({"support_revocation": True})))
    request = looper.loop.run_until_complete(build_cred_def_request(identifier, definition_json))
    request = modify_field(request, 999999, OPERATION, REF)
    with pytest.raises(RequestRejectedException) as e:
        sdk_get_and_check_replies(looper, [sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)])
    e.match('doesn\'t exist')
Exemplo n.º 8
0
def claim_def(looper, sdk_wallet_handle, sdk_wallet_steward, send_schema_req):
    schema = json.loads(send_schema_req[0])
    tag = 'some_tag'
    schema_seq_no = send_schema_req[1]['result']['txnMetadata']['seqNo']
    schema['seqNo'] = schema_seq_no

    definition_id, definition_json = \
        looper.loop.run_until_complete(issuer_create_and_store_credential_def(
            sdk_wallet_handle, sdk_wallet_steward[1], json.dumps(schema),
            tag, "CL", json.dumps({"support_revocation": True})))
    cred_def = looper.loop.run_until_complete(build_cred_def_request(sdk_wallet_steward[1], definition_json))
    return json.loads(cred_def)['operation']
def added_claim_def_id_large_schema(looper, sdk_pool_handle, nodeSet,
                                    sdk_wallet_trustee, large_schema_json):
    wallet_handle, identifier = sdk_wallet_trustee
    _, definition_json = looper.loop.run_until_complete(
        issuer_create_and_store_credential_def(
            wallet_handle, identifier, large_schema_json, "some_tag", "CL",
            json.dumps({"support_revocation": True})))
    request = looper.loop.run_until_complete(
        build_cred_def_request(identifier, definition_json))
    rep = sdk_get_and_check_replies(looper, [
        sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)
    ])
    return rep[0][1]['result'][TXN_METADATA][TXN_METADATA_ID]
Exemplo n.º 10
0
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))