Simulace chyb z rozhraní Microsoft Graph API

Microsoft Graph je kolekce rozhraní API, která poskytují přístup k datům a přehledům v Microsoftu 365. Když ve své aplikaci používáte Microsoft Graph, měli byste otestovat, jak aplikace zpracovává chyby rozhraní API. Dev Proxy umožňuje simulovat chyby na libovolném Graph API Microsoftu GraphRandomErrorPluginpomocí .

Nástroj GraphRandomErrorPlugin je optimalizovaný pro práci s Microsoft Graphem a simuluje konkrétní chyby, které může Microsoft Graph vracet.

Začněte tím, že v konfiguračním GraphRandomErrorPlugin souboru povolíte příkaz .

{
  "$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/*"
      ]
    }
  ]
}

Tip

Výše uvedený fragment kódu naslouchá požadavkům na Microsoft Graph ve všech cloudech Microsoftu. Pokud chcete simulovat jenom chyby v konkrétním cloudu Microsoftu, odeberte adresy URL, které nepotřebujete.

Spusťte proxy pro vývoj pomocí konfiguračního souboru a pomocí aplikace se podívejte, jak zpracovává chyby. Pro každý odpovídající požadavek dev proxy určuje, jestli se má simulovat chyba nebo předat požadavek do Microsoft Graphu pomocí nakonfigurované míry selhání. Když dev proxy simuluje chybu, náhodně vybere jednu z chyb, které Microsoft Graph používá, a vrátí do vaší aplikace chybovou odpověď.

Konfigurace chyb pro simulaci

Ve výchozím nastavení GraphRandomErrorPlugin simuluje následující chyby.

Metoda HTTP Možné chyby
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, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 507 Insufficient Storage
PUT 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 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, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 507 Insufficient Storage

Pokud chcete otestovat konkrétní chování, jako je omezování, nakonfigurujte modul plug-in tak, aby používal pouze příslušné chyby pomocí možnosti --allowed-errors .

devproxy --allowed-errors 429

Případně můžete nakonfigurovat allowedErrors vlastnost v objektu v konfiguračním graphRandomErrorPlugin souboru.

{
  "graphRandomErrorPlugin": {
    "allowedErrors": [ 429 ]
  }
}

Simulace chyb v dávkových požadavcích Microsoft Graphu

Dev Proxy simuluje chyby v dávkových požadavcích do Microsoft Graphu stejným způsobem jako u běžných požadavků. Když dev Proxy selže jeden nebo více požadavků v dávkovém požadavku, vrátí 424 Failed Dependency odpověď pro celý dávkový požadavek, stejně jako Microsoft Graph.