Имитация ошибок из API Microsoft Graph
Microsoft Graph — это коллекция API- интерфейсов, которые предоставляют доступ к данным и аналитическим сведениям в Microsoft 365. При использовании Microsoft Graph в приложении необходимо проверить, как приложение обрабатывает ошибки API. Прокси-сервер разработки позволяет имитировать ошибки в любом API Microsoft Graph с помощью . GraphRandomErrorPlugin
.
Оптимизировано GraphRandomErrorPlugin
для работы с Microsoft Graph и имитирует определенные ошибки, которые может возвращать Microsoft Graph.
Чтобы начать, включите GraphRandomErrorPlugin
файл конфигурации.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/rc.schema.json",
"plugins": [
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "graphRandomErrorPlugin",
"urlsToWatch": [
"https://graph.microsoft.com/v1.0/*",
"https://graph.microsoft.com/beta/*",
"https://graph.microsoft.us/v1.0/*",
"https://graph.microsoft.us/beta/*",
"https://dod-graph.microsoft.us/v1.0/*",
"https://dod-graph.microsoft.us/beta/*",
"https://microsoftgraph.chinacloudapi.cn/v1.0/*",
"https://microsoftgraph.chinacloudapi.cn/beta/*"
]
}
]
}
Совет
Приведенный выше фрагмент прослушивает запросы к Microsoft Graph во всех облаках Майкрософт. Если вы хотите имитировать ошибки только в определенном облаке Майкрософт, удалите URL-адреса, которые вам не нужны.
Запустите прокси-сервер разработки с файлом конфигурации и используйте приложение, чтобы узнать, как он обрабатывает ошибки. Для каждого соответствующего запроса прокси разработки определяет, следует ли имитировать ошибку или передавать запрос в Microsoft Graph с помощью настроенной частоты сбоев. При имитации ошибки прокси-сервер разработчика случайно выбирает одну из ошибок, которые использует Microsoft Graph, и возвращает ответ на ошибку в приложении.
Настройка ошибок для имитации
По умолчанию имитирует GraphRandomErrorPlugin
следующие ошибки.
Метод HTTP | Возможные ошибки |
---|---|
GET |
429 Too Many Requests , , 500 Internal Server Error 502 Bad Gateway , 503 Service Unavailable 504 Gateway Timeout |
POST |
429 Too Many Requests , , 500 Internal Server Error 503 Service Unavailable 502 Bad Gateway 504 Gateway Timeout ,507 Insufficient Storage |
PUT |
429 Too Many Requests , , 500 Internal Server Error 503 Service Unavailable 502 Bad Gateway 504 Gateway Timeout ,507 Insufficient Storage |
PATCH |
429 Too Many Requests , , 500 Internal Server Error 502 Bad Gateway , 503 Service Unavailable 504 Gateway Timeout |
DELETE |
429 Too Many Requests , , 500 Internal Server Error 503 Service Unavailable 502 Bad Gateway 504 Gateway Timeout ,507 Insufficient Storage |
Если вы хотите протестировать определенные действия, такие как регулирование, настройте подключаемый модуль только для использования соответствующих ошибок с помощью --allowed-errors
параметра.
devproxy --allowed-errors 429
Кроме того, можно настроить allowedErrors
свойство в объекте graphRandomErrorPlugin
в файле конфигурации.
{
"graphRandomErrorPlugin": {
"allowedErrors": [ 429 ]
}
}
Имитация ошибок в пакетных запросах Microsoft Graph
Прокси-сервер разработки имитирует ошибки в пакетных запросах к Microsoft Graph так же, как и для регулярных запросов. Если прокси-сервер разработки завершается сбоем одного или нескольких запросов в пакетном запросе, он возвращает 424 Failed Dependency
ответ для всего пакетного запроса, как и Microsoft Graph.