def test_command_donnot_change_status_when_already_refunded():
    request_id = 'testingId'
    task_info = dict(request_id=request_id, op_info=dict(status='failed'))
    save_task_info(task_info)
    runner = CliRunner()
    result = runner.invoke(change_status, [request_id, 'failed'])
    assert result.output == 'transaction was already refunded\n'
def test_transaction_id_does_not_exist():
    request_id = 'request-id'
    task_info = dict(request_id=request_id, )
    save_task_info(task_info)
    runner = CliRunner()
    result = runner.invoke(change_status, ['other-id', 'success'])
    assert result.output == 'transaction id other-id does not exists\n'
Exemple #3
0
def test_save_task_info():
    task_id = str(uuid4())
    task_info = dict(
        task_id=task_id,
        task_name='arcusd.tasks.mytask',
    )
    tasks.save_task_info(task_info)
    db_task_info = tasks.get_task_info({'task_id': task_id})
    assert db_task_info['task_id'] == task_id
def test_command_change_status_already_exists(mock_pay_bill,
                                              mock_send_op_result):
    request_id = 'testingId2'
    task_info = dict(request_id=request_id, op_info=dict(status='success'))
    save_task_info(task_info)
    runner = CliRunner()
    result = runner.invoke(change_status, [request_id, 'failed'])
    assert result.exit_code == 0
    transaction = get_task_info(dict(request_id=request_id))
    assert transaction['op_info']['status'] == 'failed'
def test_refund_payment_handles_error(mock_pay_bill, mock_send_op_result):
    request_id = 'testid'
    task_info = dict(request_id=request_id, )
    save_task_info(task_info)
    runner = CliRunner()
    with pytest.raises(Exception):
        pay_bill(request_id, 'internet_telmex', '2424240024')
    result = runner.invoke(change_status, [request_id, 'failed'])
    get_task_info(dict(request_id=request_id))
    assert result.output == 'connection error try again\n'
Exemple #6
0
def task_before_run(task_id, task, *args, **kwargs):
    request_id = task.request.kwargs.get('request_id', task_id)
    task_info = dict(
        task_id=task_id,
        task_sender=task.request.origin,
        task_args=task.request.args,
        task_kwargs=task.request.kwargs,
        task_retries=task.request.retries,
        task_start=datetime.utcnow(),
        request_id=request_id,
    )
    save_task_info(task_info)
def test_set_status_failed_creates_op_info(mock_pay_bill, mock_send_op_result):
    request_id = 'request-id2'
    task_info = dict(request_id=request_id, )
    save_task_info(task_info)
    runner = CliRunner()
    with pytest.raises(Exception):
        pay_bill(request_id, 'internet_telmex', '2424240024')
    result = runner.invoke(change_status, [request_id, 'failed'])
    assert result.exit_code == 0
    transaction = get_task_info(dict(request_id=request_id))
    assert transaction['op_info'] is not None
    assert transaction['op_info']['status'] == 'failed'
    assert mock_send_op_result.called
def test_success_and_create_op_info(mock_pay_bill, mock_send_op_result):
    request_id = 'idtest'
    task_info = dict(request_id=request_id, )
    save_task_info(task_info)
    runner = CliRunner()
    with pytest.raises(Exception):
        pay_bill(request_id, 'internet_telmex', '2424240024')
    result = runner.invoke(change_status, [request_id, 'success'],
                           input='arcus-id\n100')
    assert result.exit_code == 0
    transaction = get_task_info(dict(request_id=request_id))
    assert transaction['op_info']['operation']['amount'] == 100
    assert transaction['op_info']['operation']['id'] == 'arcus-id'
Exemple #9
0
def test_update_task_info():
    task_id = str(uuid4())
    task_info1 = dict(
        task_id=task_id,
        task_name='arcusd.tasks.mytask',
    )
    tasks.save_task_info(task_info1)
    task_info2 = dict(task_result='task_result',
                      op_info={
                          'prop1': 123234,
                          'prop2': 'abcdf'
                      })
    tasks.update_task_info({'task_id': task_id}, task_info2)
    db_task_info = tasks.get_task_info({'task_id': task_id})
    assert db_task_info['task_id'] == task_info1['task_id']
    assert db_task_info['task_name'] == task_info1['task_name']
    assert db_task_info['task_result'] == task_info2['task_result']
    assert db_task_info['op_info']['prop1'] == task_info2['op_info']['prop1']
    assert db_task_info['op_info']['prop2'] == task_info2['op_info']['prop2']