Поделиться через


Имитация ошибок из 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 Error502 Bad Gateway, 503 Service Unavailable504 Gateway Timeout
POST 429 Too Many Requests, , 500 Internal Server Error503 Service Unavailable502 Bad Gateway504 Gateway Timeout,507 Insufficient Storage
PUT 429 Too Many Requests, , 500 Internal Server Error503 Service Unavailable502 Bad Gateway504 Gateway Timeout,507 Insufficient Storage
PATCH 429 Too Many Requests, , 500 Internal Server Error502 Bad Gateway, 503 Service Unavailable504 Gateway Timeout
DELETE 429 Too Many Requests, , 500 Internal Server Error503 Service Unavailable502 Bad Gateway504 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.