Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na pierwszy rzut oka
Celem: Testowanie sposobu obsługi błędów interfejsu API programu Microsoft Graph przez aplikację
Czas: 10 minut
Plugins:GraphRandomErrorPlugin
Wymagania wstępne:konfigurowanie serwera proxy deweloperskiego
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.
Plik: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.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.
Plik: devproxyrc.json
{
"graphRandomErrorPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/graphrandomerrorplugin.schema.json",
"allowedErrors": [ 429 ]
}
}
Dev Proxy korzysta wyłącznie z dozwolonych błędów, które mają zastosowanie do każdej metody HTTP, jak pokazano w poprzedniej tabeli. Jeśli żaden z dozwolonych błędów nie ma zastosowania do metody, Dev Proxy przepuszcza żądania z tą metodą do Microsoft Graph. Jeśli na przykład zezwalasz tylko na 507, Dev Proxy blokuje żądania POST, PUT i DELETE, ale przepuszcza żądania GET i PATCH. Dev Proxy przekazuje również żądania z metodami, które nie są wymienione w tabeli, na przykład HEAD lub OPTIONS.
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.
Jeśli jakiekolwiek żądanie w partii używa metody, dla której żaden z dozwolonych błędów nie ma zastosowania, Dev Proxy przekazuje całą partię do Microsoft Graph, ponieważ odpowiedź wsadowa musi zawierać odpowiedź dla każdego żądania w partii.
Zobacz także
- GraphRandomErrorPlugin — pełna dokumentacja
- Symulowanie ograniczania przepustowości w interfejsach API platformy Microsoft 365 — testowanie specyficzne dla ograniczania przepustowości
- Testowanie aplikacji z błędami losowymi — ogólna symulacja błędów
- Słownik: terminologia Proxy deweloperskie