Fouten van Microsoft Graph-API's simuleren

In één oogopslag
Doel: Testen hoe uw app microsoft Graph API-fouten verwerkt
Tijd: 10 minuten
Invoegtoepassingen:GraphRandomErrorPlugin
Vereisten:Dev Proxy instellen

Microsoft Graph is een verzameling API's waarmee u toegang krijgt tot gegevens en inzichten in Microsoft 365. Wanneer u Microsoft Graph in uw app gebruikt, moet u testen hoe uw app API-fouten verwerkt. Met dev Proxy kunt u fouten simuleren in elke Microsoft Graph API met behulp van de GraphRandomErrorPlugin.

Het GraphRandomErrorPlugin is geoptimaliseerd voor gebruik met Microsoft Graph en simuleert de specifieke fouten die Microsoft Graph kan retourneren.

Als u wilt beginnen, schakelt u het GraphRandomErrorPlugin in uw configuratiebestand in.

Bestand: 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/*"
      ]
    }
  ]
}

Tip

Het bovenstaande codefragment luistert naar aanvragen voor Microsoft Graph in alle Microsoft-clouds. Als u alleen fouten in een specifieke Microsoft-cloud wilt simuleren, verwijdert u de URL's die u niet nodig hebt.

Start Dev Proxy met uw configuratiebestand en gebruik uw app om te zien hoe de fouten worden verwerkt. Voor elke overeenkomende aanvraag bepaalt Dev Proxy of een fout moet worden gesimuleerd of de aanvraag moet worden doorgegeven aan Microsoft Graph met behulp van het geconfigureerde foutpercentage. Wanneer Dev Proxy een fout simuleert, selecteert deze willekeurig een van de fouten die Microsoft Graph gebruikt en retourneert een foutreactie op uw app.

Fouten configureren voor simulatie

GraphRandomErrorPlugin Standaard worden de volgende fouten gesimuleerd.

HTTP-methode Mogelijke fouten
GET 429 Too Many Requests 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable504 Gateway Timeout
POST 429 Too Many Requests, 500 Internal Server Error502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout507 Insufficient Storage
PUT 429 Too Many Requests, 500 Internal Server Error502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout507 Insufficient Storage
PATCH 429 Too Many Requests 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable504 Gateway Timeout
DELETE 429 Too Many Requests, 500 Internal Server Error502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout507 Insufficient Storage

Als je specifieke gedragingen wilt testen, zoals bandbreedtebeperking, configureer dan de invoegtoepassing zodat alleen de relevante fouten met de --allowed-errors optie worden gebruikt.

devproxy --allowed-errors 429

U kunt de allowedErrors eigenschap ook configureren in het object in uw graphRandomErrorPlugin configuratiebestand.

Bestand: devproxyrc.json

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

Dev Proxy maakt alleen gebruik van de toegestane fouten die van toepassing zijn op elke HTTP-methode, zoals vermeld in de vorige tabel. Als geen van de toegestane fouten van toepassing is op een methode, geeft Dev Proxy aanvragen met die methode door aan Microsoft Graph. Als u bijvoorbeeld alleen 507 toestaat, laat Dev Proxy PUT, POST en DELETE-aanvragen mislukken, maar PATCH- en GET-aanvragen door. Dev Proxy geeft ook aanvragen door met methoden die niet worden vermeld in de tabel, zoals HEAD of OPTIONS.

Fouten simuleren in Microsoft Graph-batchaanvragen

Dev Proxy simuleert fouten in batchaanvragen naar Microsoft Graph op dezelfde manier als voor reguliere aanvragen. Wanneer dev proxy een of meer aanvragen in een batchaanvraag mislukt, retourneert deze een 424 Failed Dependency antwoord voor de hele batchaanvraag, net zoals Microsoft Graph dat zou doen.

Als een aanvraag in de batch gebruikmaakt van een methode waarvoor geen van de toegestane fouten van toepassing is, geeft Dev Proxy de hele batch door aan Microsoft Graph, omdat een batchantwoord een antwoord moet bevatten voor elke aanvraag in de batch.

Zie ook