Compartilhar via


Simular erros de APIs do Microsoft Graph

O Microsoft Graph é uma coleção de APIs que fornecem acesso a dados e insights no Microsoft 365. Ao usar o Microsoft Graph em seu aplicativo, você deve testar como seu aplicativo lida com erros de API. O Dev Proxy permite simular erros em qualquer API do Microsoft Graph usando o GraphRandomErrorPlugin.

O GraphRandomErrorPlugin é otimizado para funcionar com o Microsoft Graph e simula os erros específicos que o Microsoft Graph pode retornar.

Para começar, habilite o GraphRandomErrorPlugin em seu arquivo de configuração.

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

Dica

O snippet acima escuta solicitações para o Microsoft Graph em todas as nuvens da Microsoft. Se você quiser simular erros apenas em uma nuvem específica da Microsoft, remova as URLs desnecessárias.

Inicie o Dev Proxy com seu arquivo de configuração e use seu aplicativo para ver como ele lida com os erros. Para cada solicitação correspondente, o Proxy de Desenvolvimento determina se deve simular um erro ou passar a solicitação para o Microsoft Graph usando a taxa de falha configurada. Quando o Proxy de Desenvolvimento simula um erro, ele seleciona aleatoriamente um dos erros que o Microsoft Graph usa e retorna uma resposta de erro ao seu aplicativo.

Configure erros para simular

Por padrão, o GraphRandomErrorPlugin simula os erros a seguir.

Método HTTP Possíveis erros
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 você quiser testar comportamentos específicos, como limitação, configure o plug-in para usar apenas os erros relevantes usando a --allowed-errors opção.

devproxy --allowed-errors 429

Como alternativa, você pode configurar a allowedErrors graphRandomErrorPlugin propriedade no objeto em seu arquivo de configuração.

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

Simular erros em solicitações em lote do Microsoft Graph

O Proxy de Desenvolvimento simula erros em solicitações em lote para o Microsoft Graph da mesma forma que faz para solicitações regulares. Quando o Proxy de Desenvolvimento falha em uma ou mais solicitações em uma solicitação em lote, ele retorna uma 424 Failed Dependency resposta para toda a solicitação em lote, assim como o Microsoft Graph faria.