У меня есть логин конечной точки API django rest, который принимает имя пользователя и пароль в виде объекта json, как показано ниже.
{
username: email,
password: password,
}
и возвращает объект json, содержащий токен
{
token : 0234jh324234j2hiy342
}
Теперь я хочу написать тест в поведении. У меня есть следующий файл функций.
Feature: Login User
By providing different credentials we check if our login API end point is working as expected or not
Scenario: Login User by Providing Authentication Credentials
Given I provide user authentication credentials
Then I must get a reponse with status code 200 and a jSon object with token
и ниже мой файл auth.py
from behave import *
import requests
import json
@given('I have user authentication credentials')
def set_impl(context):
url = 'https://example.com/v1/login'
headers = {'content-type': 'application/json'}
body = {
"username": "[email protected]",
"password": "abcdef123",
}
@when('I make an http post call')
def step_impl(context):
context.res = requests.post(url, data=json.dumps(body), headers=headers)
@then('I must get a reponse with status code 200 and a jSon object with token')
def step_impl(context):
assert context.res.status == 200
Я не могу получить доступ к URL-адресу, заголовку и тексту из декоратора @given в декораторе @when. И как я могу проверить json в ответ на ожидаемый json.
The response has a key {key} with value {value}.
, которое можно использовать повторно. - person Klaus D.   schedule 12.06.2018