def test_send_nym_with_fees(helpers, looper, nodeSetWithIntegratedTokenPlugin,
                            sdk_wallet_trustee, sdk_wallet_steward,
                            sdk_pool_handle, fees_set, address_main,
                            mint_tokens):
    req = helpers.request.nym_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])
    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'] == NYM_FEE

    request = looper.loop.run_until_complete(
        build_get_nym_request(sdk_wallet_trustee[1], req.operation['dest']))
    read_rep = sdk_get_and_check_replies(looper, [
        sdk_sign_and_submit_req(sdk_pool_handle, sdk_wallet_trustee, request)
    ])
    reply = json.loads(read_rep[0][1]['result'][DATA])
    assert req.operation['dest'] == reply['dest']
    assert req.operation['verkey'] == reply['verkey']
예제 #2
0
def get_nym(looper, sdk_pool_handle, sdk_wallet_steward, t_did):
    _, s_did = sdk_wallet_steward
    get_nym_req = looper.loop.run_until_complete(
        build_get_nym_request(s_did, t_did))
    req = sdk_sign_and_send_prepared_request(looper, sdk_wallet_steward,
                                             sdk_pool_handle, get_nym_req)
    return sdk_get_and_check_replies(looper, [req])
예제 #3
0
def testSendGetNymFailsIfDestIsPassedInHexFormat(looper, sdk_pool_handle,
                                                 sdk_wallet_trustee):
    # Sometimes hex representation can use only base58 compatible characters
    while True:
        uuidIdentifier, abbrevVerkey = createHalfKeyIdentifierAndAbbrevVerkey()
        hexEncodedUuidIdentifier = hexlify(
            friendlyToRaw(uuidIdentifier)).decode()
        if not check_str_is_base58_compatible(hexEncodedUuidIdentifier):
            break
    sdk_add_new_nym(looper,
                    sdk_pool_handle,
                    sdk_wallet_trustee,
                    dest=uuidIdentifier,
                    verkey=abbrevVerkey)

    _, s_did = sdk_wallet_trustee
    get_nym_req = looper.loop.run_until_complete(
        build_get_nym_request(s_did, uuidIdentifier))
    get_nym_req = modify_field(get_nym_req, hexEncodedUuidIdentifier,
                               IDENTIFIER)
    req = sdk_sign_and_send_prepared_request(looper, sdk_wallet_trustee,
                                             sdk_pool_handle, get_nym_req)
    with pytest.raises(RequestNackedException) as e:
        sdk_get_and_check_replies(looper, [req])
    e.match('should not contain the following chars')
예제 #4
0
def nym_get(looper, sdk_pool_handle, sdk_wallet_sign, did):
    sign_w, sign_did = sdk_wallet_sign
    get_nym_req = looper.loop.run_until_complete(build_get_nym_request(sign_did, did))
    req = sdk_sign_and_send_prepared_request(looper, sdk_wallet_sign, sdk_pool_handle, get_nym_req)
    repl_data = sdk_get_and_check_replies(looper, [req])[0][1].get("result", {}).get("data", "")
    dt = json.loads(repl_data)
    nym = dt.get("dest", None)
    vk = dt.get("verkey", None)
    return nym, vk
def testSendGetNymHasInvalidSyntaxIfDestIsEmpty(
        looper, sdk_pool_handle, sdk_wallet_trustee):
    uuidIdentifier = createUuidIdentifier()
    _, s_did = sdk_wallet_trustee
    get_nym_req = looper.loop.run_until_complete(build_get_nym_request(s_did, uuidIdentifier))
    get_nym_req = modify_field(get_nym_req, '', IDENTIFIER)
    req = sdk_sign_and_send_prepared_request(looper, sdk_wallet_trustee,
                                             sdk_pool_handle, get_nym_req)
    with pytest.raises(RequestNackedException) as e:
        sdk_get_and_check_replies(looper, [req])
    e.match('client request invalid')
def testSendGetNymFailsIfDestIsInvalid(
        looper, sdk_pool_handle, sdk_wallet_trustee):
    uuidIdentifier = createUuidIdentifier()
    invalidIdentifier = uuidIdentifier[:-4]
    _, s_did = sdk_wallet_trustee
    get_nym_req = looper.loop.run_until_complete(build_get_nym_request(s_did, uuidIdentifier))
    get_nym_req = modify_field(get_nym_req, invalidIdentifier, IDENTIFIER)
    req = sdk_sign_and_send_prepared_request(looper, sdk_wallet_trustee,
                                             sdk_pool_handle, get_nym_req)
    with pytest.raises(RequestNackedException) as e:
        sdk_get_and_check_replies(looper, [req])
    e.match('should be one of \[16, 32\]')
예제 #7
0
def get_nym(looper, sdk_pool_handle, sdk_wallet_steward, t_did):
    _, s_did = sdk_wallet_steward
    get_nym_req = looper.loop.run_until_complete(build_get_nym_request(s_did, t_did))
    req = sdk_sign_and_send_prepared_request(looper, sdk_wallet_steward,
                                             sdk_pool_handle, get_nym_req)
    return sdk_get_and_check_replies(looper, [req])