Bagikan melalui


Mensimulasikan kesalahan dari API Microsoft Graph

Sekilas
Tujuan: Menguji bagaimana aplikasi Anda menangani kesalahan Microsoft Graph API
Waktu: 10 menit
Plugins:GraphRandomErrorPlugin
Prasyarat:Menyiapkan Proksi Dev

Microsoft Graph adalah kumpulan API yang memberi Anda akses ke data dan wawasan di Microsoft 365. Saat menggunakan Microsoft Graph di aplikasi, Anda harus menguji cara aplikasi menangani kesalahan API. Dev Proxy memungkinkan Anda mensimulasikan kesalahan pada Microsoft Graph API apa pun menggunakan GraphRandomErrorPlugin.

GraphRandomErrorPlugin dioptimalkan untuk berfungsi dengan Microsoft Graph dan mensimulasikan kesalahan spesifik yang dapat terjadi dari Microsoft Graph.

Untuk memulai, aktifkan GraphRandomErrorPlugin dalam file konfigurasi Anda.

File: devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.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/*"
      ]
    }
  ]
}

Tip

Cuplikan di atas memantau permintaan untuk Microsoft Graph pada seluruh layanan cloud Microsoft. Jika Anda hanya ingin mensimulasikan kesalahan di cloud Microsoft tertentu, hapus URL yang tidak Anda butuhkan.

Mulai Dev Proxy dengan file konfigurasi Anda dan gunakan aplikasi Anda untuk melihat caranya menangani kesalahan. Untuk setiap permintaan yang cocok, Dev Proxy menentukan apakah akan mensimulasikan kesalahan atau meneruskan permintaan ke Microsoft Graph menggunakan tingkat kegagalan yang dikonfigurasi. Saat Dev Proxy mensimulasikan kesalahan, Dev Proxy secara acak memilih salah satu kesalahan yang digunakan Microsoft Graph, dan mengembalikan respons kesalahan ke aplikasi Anda.

Konfigurasikan kesalahan untuk simulasi

Secara bawaan, GraphRandomErrorPlugin mensimulasikan kesalahan berikut.

metode HTTP Kemungkinan kesalahan
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 Error502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 507 Insufficient Storage
PUT 429 Too Many Requests, 500 Internal Server Error502 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 Error502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 507 Insufficient Storage

Jika Anda ingin menguji perilaku tertentu, seperti pembatasan, konfigurasikan plugin untuk menggunakan hanya kesalahan yang relevan menggunakan opsi --allowed-errors.

devproxy --allowed-errors 429

Atau, Anda dapat mengonfigurasi allowedErrors properti di graphRandomErrorPlugin objek dalam file konfigurasi Anda.

File: devproxyrc.json

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

Mensimulasikan kesalahan dalam permintaan batch Microsoft Graph

Dev Proxy mensimulasikan kesalahan dalam permintaan batch ke Microsoft Graph dengan cara yang sama seperti halnya untuk permintaan reguler. Ketika Proksi Dev gagal memproses satu atau lebih permintaan dalam batch, Proksi Dev mengembalikan respons 424 Failed Dependency untuk seluruh batch, sama seperti Microsoft Graph.

Lihat juga