Получение ошибки утверждения в Pytest во время тестирования интеграции - PullRequest
0 голосов
/ 19 апреля 2020

Я делаю интеграционное тестирование с flask -pytest и сталкиваюсь с этой ошибкой утверждения, которую я не могу понять.

def test_get_card_user(test_client):
    resp = test_client.get('/get_card', headers={"mobile": "+910000000000", "app_version": '2'})
    data = json.loads(resp.get_data())
    assert resp.status_code == 200
    assert data.get("result") == "error"
    assert data.get("message") == "User doesn't exist"
    assert data is not None

def test_get_card_lender(test_client):
    resp = test_client.get('/get_card', headers={"mobile": "+910000000000", "app_version": '2'})
    data = json.loads(resp.get_data())
    assert resp.status_code == 200
    assert data.get("result") == "error"
    assert data.get("message") == "Permission Denied"
    assert data is not None

Это ошибка, которую я получаю

E       assert "User doesn't exist" == 'Permission Denied'
E         - User doesn't exist
E         + Permission Denied

РЕДАКТИРОВАТЬ: Это код, который я тестирую, я чувствую, что приведенных выше утверждений недостаточно, что еще я должен делать или как утверждать?

 @user_api.route("/get_card_statement_oms", methods=["GET"])
@authenticate_request(roles=['oms_user', 'external_collection', 'external_collection_admin'])
def get_statement_oms(who):
    mobile = request.args.get('mobile')
    lender_id = request.args.get('lender_id')
    user = get_user_from_mobile(get_mobile(mobile))
    if not user:
        return jsonify({'result': 'error', 'message': "User doesn't exist"})

    if get_user_role_from_name(who.id, 'lender_access') and not is_lender_authorised(user.id, who.id):
        return jsonify({'result': 'error', 'message': 'Permission Denied'})

    query = get_session().query(LoanData).filter(LoanData.user_id == user.id,
                                                 LoanData.loan_type == 'drawdown',
                                                 LoanData.row_status == 'active')

    if lender_id:
        query = query.filter(LoanData.lender_id == lender_id)

    loan_data = query.first()

    if not loan_data:
        return jsonify({'result': 'error', 'message': 'No drawdown loan is present'})

    result = get_statement_data(loan_data)
    result['loan_id'] = loan_data.loan_id
    return jsonify(result)
...