Megosztás a következőn keresztül:


Microsoft Graph API-k hibáinak szimulálása

A Microsoft Graph olyan API-k gyűjteménye, amelyek hozzáférést biztosítanak a Microsoft 365-höz kapcsolódó adatokhoz és elemzésekhez. Amikor a Microsoft Graphot használja az alkalmazásban, tesztelnie kell, hogyan kezeli az alkalmazás az API-hibákat. A Dev Proxy segítségével szimulálhat hibákat bármely Microsoft Graph API-n a GraphRandomErrorPlugin használatával.

A GraphRandomErrorPlugin Microsoft Graphtal való együttműködésre van optimalizálva, és szimulálja a Microsoft Graph által visszaadható konkrét hibákat.

Első lépésként engedélyezze a GraphRandomErrorPlugin elemet a konfigurációs fájlban.

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

A fenti kódrészlet minden Microsoft-felhőben figyeli a Microsoft Graphhoz érkező kéréseket. Ha csak egy adott Microsoft-felhőben szeretne hibákat szimulálni, távolítsa el a szükségtelen URL-címeket.

Indítsa el a dev proxyt a konfigurációs fájllal, és az alkalmazással ellenőrizze, hogyan kezeli a hibákat. Minden egyező kérés esetében a Dev Proxy meghatározza, hogy szimuláljon-e egy hibát, vagy átadja a kérést a Microsoft Graphnak a konfigurált hibaarány használatával. Ha a Dev Proxy hibát szimulál, véletlenszerűen kiválasztja a Microsoft Graph által használt hibák egyikét, és hibaüzenetet ad vissza az alkalmazásnak.

Hibák konfigurálása szimulálásához

Alapértelmezés szerint a GraphRandomErrorPlugin következő hibákat szimulálja.

HTTP method Lehetséges hibák
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 Error, 502 Bad Gateway, 503 Service Unavailable504 Gateway Timeout507 Insufficient Storage
PUT 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable504 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 Error, 502 Bad Gateway, 503 Service Unavailable504 Gateway Timeout507 Insufficient Storage

Ha konkrét viselkedéseket, például a fojtást szeretne tesztelni, úgy konfigurálja a beépülő modult, hogy csak a releváns hibákat használja a --allowed-errors beállítással.

devproxy --allowed-errors 429

Másik lehetőségként konfigurálhatja a allowedErrors tulajdonságot az graphRandomErrorPlugin objektumban a konfigurációs fájlban.

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

Hibák szimulálása a Microsoft Graph kötegkérelmeiben

A Dev Proxy ugyanúgy szimulálja a Microsoft Graphra irányuló kötegelt kérelmek hibáit, mint a normál kérések esetében. Ha a Dev Proxy egy kötegelt kérelem egy vagy több kérését sikertelenül teljesíti, a teljes kötegelt kérelemre a Microsoft Graphhoz hasonlóan 424 Failed Dependency választ ad vissza.