Partilhar via


Simular erros de APIs do Microsoft Graph

O Microsoft Graph é uma coleção de APIs que lhe dão acesso a dados e informações sobre o 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 trabalhar com o Microsoft Graph e simula os erros específicos que o Microsoft Graph pode retornar.

Para começar, habilite o GraphRandomErrorPlugin no 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/*"
      ]
    }
  ]
}

Gorjeta

O trecho acima escuta solicitações para o Microsoft Graph em todas as nuvens da Microsoft. Se você quiser apenas simular erros em uma nuvem específica da Microsoft, remova as URLs de que não precisa.

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 Dev Proxy simula um erro, ele seleciona aleatoriamente um dos erros usados pelo Microsoft Graph e retorna uma resposta de erro ao seu aplicativo.

Configurar erros para simular

Por padrão, o GraphRandomErrorPlugin simula os seguintes erros.

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 Dev Proxy simula erros em solicitações em lote para o Microsoft Graph da mesma forma que faz para solicitações regulares. Quando o Dev Proxy falha uma ou mais solicitações em uma solicitação em lote, ele retorna uma 424 Failed Dependency resposta para a solicitação em lote inteira, assim como o Microsoft Graph faria.