Есть ли способ имитировать ошибку сервера GAE?

Существуют ли способы тестирования моей настройки error_handlers в файле app.yaml, особенно код ошибки over_quota?

Ответ 1

Тестирование error_handlers

dev_appserver.py - это приложение, которое анализирует ваш app.yaml и обслуживает эти файлы ошибок. Это означает, что вам лучше всего, вероятно, принять приемочное испытание, в котором вы поднимаете dev_appserver.py и пытаетесь побить его localhost:8080 с помощью GETs и PUTs, что вызовет различные ошибки, которые вы ожидаете.

Итак, если /foo возвращает 404, вы можете сделать следующее с Python-запросы:

>>> def test_foo():
>>>   response = requests.get('/foo')
>>>   assert response.status_code == 404

Тестирование по ошибке квоты

В этом конкретном случае кажется, что вы пытаетесь явно повысить ошибку over_quota. В этой ссылке упоминается, что вы ищете apiproxy_errors.OverQuotaError.

Я не уверен, что ваш тестовый код, но вы попытались явно повысить эту ошибку, с точностью до raise?

Мне удалось запустить следующий код после начальной загрузки моего apiproxy_stub_map, установки моего пути и т.д.:

from google.appengine.runtime import apiproxy_errors

def test_foo():
  raise apiproxy_errors.OverQuotaError