Esempio n. 1
0
def test_update_budget_current_winners(wallet_3hf: Wallet, opened_budgets,
                                       json_metadata):
    budget = opened_budgets[0]
    winners_before = wallet_3hf.get_current_winners(budget['type'])
    wallet_3hf.update_budget(budget['uuid'], budget['owner'], json_metadata,
                             budget['type'])
    winners_after = wallet_3hf.get_current_winners(budget['type'])
    assert all(winners_before[i]['id'] == winners_after[i]['id']
               for i in range(len(winners_before)))
Esempio n. 2
0
def test_update_budget_invalid_meta(wallet_3hf: Wallet, budget, json_metadata):
    update_budget_time(wallet_3hf, budget)
    wallet_3hf.create_budget(**budget)
    update_budget_balance(wallet_3hf, budget)
    response = wallet_3hf.update_budget(budget['uuid'], budget['owner'],
                                        json_metadata, budget['type'])
    validate_error_response(response, wallet_3hf.update_budget.__name__,
                            RE_PARSE_ERROR)
    budget_obj = wallet_3hf.get_budget(budget['uuid'], budget['type'])
    assert budget_obj['json_metadata'] == budget["json_metadata"]
Esempio n. 3
0
def test_update_budget(wallet_3hf: Wallet, budget, json_metadata):
    update_budget_time(wallet_3hf, budget)
    wallet_3hf.create_budget(**budget)
    update_budget_balance(wallet_3hf, budget)
    response = wallet_3hf.update_budget(budget['uuid'], budget['owner'],
                                        json_metadata, budget['type'])
    validate_response(response, wallet_3hf.update_budget.__name__,
                      [('block_num', int)])
    check_virt_ops(wallet_3hf, response["block_num"], response["block_num"],
                   {'update_budget'})
    budget_obj = wallet_3hf.get_budget(budget['uuid'], budget['type'])
    assert budget_obj['json_metadata'] == json_metadata
    assert Amount(budget_obj['balance']) == Amount(budget['balance']) - Amount(
        budget['per_block'])
    assert Amount(budget_obj['budget_pending_outgo']) == Amount(budget['budget_pending_outgo']) + \
        Amount(budget['per_block'])
    changed = {"json_metadata", 'balance', 'budget_pending_outgo'}
    assert all(budget[k] == budget_obj[k] for k in set(budget.keys()).difference(changed)), \
        'Not only budget metadata changed after update\n' \
        'before: {}\n' \
        'after: {}'.format(budget, budget_obj)
Esempio n. 4
0
def test_update_budget_locked(wallet: Wallet, budget):
    response = wallet.update_budget(gen_uid(), DEFAULT_WITNESS, "{}",
                                    budget["type"])
    validate_error_response(response, wallet.close_budget.__name__,
                            RE_OP_IS_LOCKED)
Esempio n. 5
0
def test_unknown_uuid(wallet_3hf: Wallet, opened_budgets, uuid):
    validate_error_response(
        wallet_3hf.update_budget(uuid(), opened_budgets[0]["owner"], "{}",
                                 opened_budgets[0]["type"]),
        wallet_3hf.update_budget.__name__, RE_BUDGET_NOT_EXIST)