Udostępnij za pośrednictwem


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ę. Serwer proxy deweloperów umożliwia symulowanie błędów w dowolnym interfejsie API programu Microsoft Graph przy użyciu polecenia 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/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/*"
      ]
    }
  ]
}

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ć allowedErrors właściwość w obiekcie w graphRandomErrorPlugin pliku konfiguracji.

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

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

Serwer proxy deweloperów symuluje błędy w żądaniach wsadowych do programu Microsoft Graph w taki sam sposób, jak w przypadku zwykłych żądań. Gdy serwer proxy deweloperów kończy się niepowodzeniem co najmniej jednego żądania wsadowego, zwraca 424 Failed Dependency odpowiedź dla całego żądania wsadowego, podobnie jak w przypadku programu Microsoft Graph.