Udostępnij przez


Symulowanie błędów z interfejsów API programu Microsoft Graph

Microsoft Graph to kolekcja interfejsów API, które zapewniają dostęp do danych i szczegółowych informacji na platformie Microsoft 365. W przypadku korzystania z programu Microsoft Graph w aplikacji należy przetestować sposób obsługi błędów interfejsu API przez aplikację. Dev Proxy umożliwia symulowanie błędów w dowolnym interfejsie API Microsoft Graph przy użyciu GraphRandomErrorPlugin.

Narzędzie GraphRandomErrorPlugin jest zoptymalizowane pod kątem pracy z programem Microsoft Graph i symuluje określone błędy, które program Microsoft Graph może zwrócić.

Aby rozpocząć, włącz element GraphRandomErrorPlugin w pliku konfiguracji.

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

Napiwek

Powyższy fragment kodu nasłuchuje żądań do programu Microsoft Graph we wszystkich chmurach firmy Microsoft. Jeśli chcesz symulować błędy tylko w określonej chmurze firmy Microsoft, usuń adresy URL, których nie potrzebujesz.

Uruchom serwer proxy dewelopera przy użyciu pliku konfiguracji i użyj aplikacji, aby zobaczyć, jak obsługuje błędy. Dla każdego zgodnego żądania serwer proxy deweloperów określa, czy symulować błąd, czy przekazać żądanie do programu Microsoft Graph przy użyciu skonfigurowanego współczynnika błędów. Gdy serwer proxy deweloperów symuluje błąd, losowo wybiera jeden z błędów używanych przez program Microsoft Graph i zwraca odpowiedź o błędzie do aplikacji.

Konfigurowanie błędów w celu symulowania

Domyślnie program GraphRandomErrorPlugin symuluje następujące błędy.

Metoda HTTP Możliwe błędy
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

Jeśli chcesz przetestować określone zachowania, takie jak ograniczanie przepustowości, skonfiguruj wtyczkę tak, aby korzystała tylko z odpowiednich błędów przy użyciu --allowed-errors opcji .

devproxy --allowed-errors 429

Alternatywnie można skonfigurować właściwość allowedErrors w obiekcie graphRandomErrorPlugin w pliku konfiguracji.

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

Symulowanie błędów w żądaniach wsadowych programu Microsoft Graph

Proxy deweloperski symuluje błędy w żądaniach wsadowych w usłudze Microsoft Graph w taki sam sposób, jak w przypadku zwykłych żądań. Kiedy Dev Proxy zawodzi co najmniej jedno żądanie w żądaniu wsadowym, zwraca 424 Failed Dependency odpowiedź dla całego żądania wsadowego, podobnie jak Microsoft Graph.