Condividi tramite


Simulare gli errori dalle API 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 il modo in cui l'app gestisce gli errori dell'API. Dev Proxy consente di simulare gli errori in qualsiasi API Microsoft Graph usando GraphRandomErrorPlugin.

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

Per iniziare, abilitare nel GraphRandomErrorPlugin file di configurazione.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.24.0/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 vogliono 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, GraphRandomErrorPlugin simula gli errori seguenti.

HTTP method (Metodo HTTP) Possibili errori
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 Unavailable, 504 Gateway Timeout507 Insufficient Storage
PUT 429 Too Many Requests, 500 Internal Server Error, 502 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 Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout507 Insufficient Storage

Se si desidera testare comportamenti specifici, ad esempio la limitazione delle richieste, configurare il plug-in per usare solo gli errori rilevanti 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 allo stesso modo delle 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 farebbe Microsoft Graph.