Simulare gli errori dalle API di Microsoft Graph

Microsoft Graph è una raccolta di API che consentono di accedere ai dati e alle informazioni dettagliate su Microsoft 365. Quando si usa Microsoft Graph nell'app, è necessario testare come l'app gestisce gli errori dell'API. Dev Proxy consente di simulare gli errori in qualsiasi API Graph Microsoft usando .GraphRandomErrorPlugin

L'oggetto GraphRandomErrorPlugin è ottimizzato per lavorare con Microsoft Graph e simula gli errori specifici che Microsoft Graph può restituire.

Per avviare, abilitare l'oggetto GraphRandomErrorPlugin nel file di configurazione.

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

Suggerimento

Il frammento di codice precedente è in ascolto delle richieste a Microsoft Graph in tutti i cloud Microsoft. Se si desidera simulare solo gli errori in un cloud Microsoft specifico, rimuovere gli URL non necessari.

Avviare Dev Proxy con il file di configurazione e usare l'app per vedere come gestisce gli errori. Per ogni richiesta corrispondente, Dev Proxy determina se simulare un errore o passare la richiesta a Microsoft Graph usando la frequenza di errore configurata. Quando Dev Proxy simula un errore, seleziona in modo casuale uno degli errori usati da Microsoft Graph e restituisce una risposta di errore all'app.

Configurare gli errori per simulare

Per impostazione predefinita, l'oggetto GraphRandomErrorPlugin simula gli errori seguenti.

Metodo HTTP Possibili errori
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

Se si desidera testare comportamenti specifici, ad esempio la limitazione, configurare il plug-in per usare solo gli errori pertinenti usando l'opzione --allowed-errors .

devproxy --allowed-errors 429

In alternativa, è possibile configurare la allowedErrors proprietà nell'oggetto graphRandomErrorPlugin nel file di configurazione.

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

Simulare gli errori nelle richieste batch di Microsoft Graph

Dev Proxy simula gli errori nelle richieste batch a Microsoft Graph nello stesso modo in cui viene fatto per le richieste regolari. Quando Dev Proxy non riesce una o più richieste in una richiesta batch, restituisce una 424 Failed Dependency risposta per l'intera richiesta batch, proprio come Microsoft Graph.