Dela via


Simulera fel från Microsoft Graph-API:er

Microsoft Graph är en samling API:er som ger dig åtkomst till data och insikter i Microsoft 365. När du använder Microsoft Graph i din app bör du testa hur appen hanterar API-fel. Med Dev Proxy kan du simulera fel på alla Microsoft Graph-API:er med hjälp av GraphRandomErrorPlugin.

GraphRandomErrorPlugin Är optimerad för att fungera med Microsoft Graph och simulerar de specifika fel som Microsoft Graph kan returnera.

För att starta, aktivera GraphRandomErrorPlugin i din konfigurationsfil.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/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/*"
      ]
    }
  ]
}

Tips

Ovanstående kodfragment lyssnar efter begäranden till Microsoft Graph i alla Microsoft-moln. Om du bara vill simulera fel i ett specifikt Microsoft-moln tar du bort de URL:er som du inte behöver.

Starta Dev Proxy med konfigurationsfilen och använd din app för att se hur den hanterar felen. För varje matchande begäran avgör Dev Proxy om du vill simulera ett fel eller skicka begäran till Microsoft Graph med hjälp av den konfigurerade felfrekvensen. När Dev Proxy simulerar ett fel väljer den slumpmässigt ett av de fel som Microsoft Graph använder och returnerar ett felsvar till din app.

Konfigurera fel som ska simuleras

Som standard GraphRandomErrorPlugin simulerar följande fel.

HTTP-metod Möjliga fel
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

Om du vill testa specifika beteenden, till exempel begränsning, konfigurerar du plugin-programmet så att det endast använder relevanta fel med hjälp av --allowed-errors alternativet .

devproxy --allowed-errors 429

Du kan också konfigurera allowedErrors egenskapen i graphRandomErrorPlugin objektet i konfigurationsfilen.

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

Simulera fel i Microsoft Graph-batchförfrågningar

Dev Proxy simulerar fel i batchbegäranden till Microsoft Graph på samma sätt som för vanliga begäranden. När Dev Proxy misslyckas med en eller flera begäranden i en batchbegäran returneras ett 424 Failed Dependency svar för hela batchbegäran, precis som Microsoft Graph skulle göra.