Не удается получить данные JSON в ответ на ложные запросы в python - PullRequest
0 голосов
/ 25 апреля 2019

Ниже приведен код моего юнит-теста для проверки HTTP-запроса к локальной облачной функции Google, которая возвращает ответ json

from unittest.mock import Mock
from cloud_functions import main
from Flask import jsonify

data = { ... }
headers = { ... }

req = Mock(get_json=Mock(return_value=data), args=data, headers=headers)
resp = main.my_function(req)

Ниже приведены виды ошибок, с которыми я сталкиваюсь при попытке получить данные json в ответе.

Попытка 1

json_data = resp.json()
value = json_data['some_key']

Error

TypeError: объект dict не вызывается

Попытка 2

value = resp['some_key']

Error

TypeError: объект 'Response' не может быть подписан

Попытка 3

json_data = jsonify(resp)
value = json_data['some_key']

Error

TypeError: Объект типа Response не поддерживает сериализацию в формате JSON

1 Ответ

0 голосов
/ 25 апреля 2019

Решил с помощью этого кода.

json_data = resp.json
value = json_data['some_key']

Теперь все работает как положено.

...