Fehler aus Microsoft Graph-APIs simulieren

Auf einen Blick
Ziel: Testen, wie Ihre App Microsoft Graph-API-Fehler behandelt
Zeit: 10 Minuten
Plugins:GraphRandomErrorPlugin
Voraussetzungen:Einrichten des Dev-Proxys

Microsoft Graph ist eine Sammlung von APIs, die Ihnen Zugriff auf Daten und Einblicke in Microsoft 365 bieten. Wenn Sie Microsoft Graph in Ihrer App verwenden, sollten Sie testen, wie Ihre App API-Fehler behandelt. Dev Proxy ermöglicht es Ihnen, Fehler in jeder Microsoft Graph-API mit GraphRandomErrorPlugin zu simulieren.

Dies GraphRandomErrorPlugin ist für die Arbeit mit Microsoft Graph optimiert und simuliert die spezifischen Fehler, die Microsoft Graph zurückgeben kann.

Aktivieren Sie zunächst das GraphRandomErrorPlugin in ihrer Konfigurationsdatei.

Datei: devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "GraphRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.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/*"
      ]
    }
  ]
}

Tipp

Der obige Codeausschnitt lauscht auf Anfragen an Microsoft Graph in allen Microsoft-Clouds. Wenn Sie nur Fehler in einer bestimmten Microsoft-Cloud simulieren möchten, entfernen Sie die URLs, die Sie nicht benötigen.

Starten Sie Dev Proxy mit Ihrer Konfigurationsdatei, und verwenden Sie Ihre App, um zu sehen, wie die Fehler behandelt werden. Für jede übereinstimmende Anforderung bestimmt Dev Proxy, ob ein Fehler simuliert oder die Anforderung mithilfe der konfigurierten Fehlerrate an Microsoft Graph übergeben werden soll. Wenn Dev Proxy einen Fehler simuliert, wählt er zufällig einen der von Microsoft Graph verwendeten Fehler aus und gibt eine Fehlerantwort an Ihre App zurück.

Fehler zur Simulation konfigurieren

Standardmäßig simuliert GraphRandomErrorPlugin die folgenden Fehler.

HTTP-Methode Mögliche Fehler
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

Wenn Sie bestimmte Verhaltensweisen testen möchten, z. B. Drosselung, konfigurieren Sie das Plug-In so, dass nur die relevanten Fehler über die Option --allowed-errors verwendet werden.

devproxy --allowed-errors 429

Alternativ können Sie die allowedErrors Eigenschaft im graphRandomErrorPlugin Objekt in Ihrer Konfigurationsdatei konfigurieren.

Datei: devproxyrc.json

{
  "graphRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/graphrandomerrorplugin.schema.json",
    "allowedErrors": [ 429 ]
  }
}

Dev Proxy verwendet nur die zulässigen Fehler, die für jede HTTP-Methode gelten, wie in der vorherigen Tabelle aufgeführt. Wenn keiner der zulässigen Fehler für eine Methode gilt, übergibt Dev Proxy Anfragen mit dieser Methode an Microsoft Graph. Wenn Sie z. B. nur 507 zulassen, lässt Dev Proxy POST-, PUT- und DELETE-Anforderungen fehlschlagen, während PATCH- und GET-Anforderungen durchgelassen werden. Dev Proxy übergibt auch Anfragen mit Methoden, die nicht in der Tabelle aufgeführt sind, z. B. HEAD oder OPTIONS.

Fehler in Microsoft Graph-Batchanforderungen simulieren

Dev Proxy simuliert Fehler in Batchanforderungen an Microsoft Graph auf die gleiche Weise, wie es dies bei regulären Anforderungen tut. Wenn Dev Proxy eine oder mehrere Anfragen in einer Batchanforderung fehlschlagen lässt, wird eine 424 Failed Dependency Antwort für die gesamte Batchanforderung zurückgegeben, genau wie Microsoft Graph.

Wenn eine Anforderung im Batch eine Methode verwendet, für die keine der zulässigen Fehler zutrifft, übergibt Dev Proxy den gesamten Batch an Microsoft Graph, da eine Batchantwort eine Antwort für jede Anforderung im Batch enthalten muss.

Siehe auch