Menguji webhook Anda

Saat mengembangkan webhook, sebaiknya lakukan pengujian dengan payload Business Messages yang sebenarnya. Daripada membuat pengujian secara manual, Anda dapat menggunakan framework pengujian Business Messages untuk menguji webhook dengan berbagai jenis payload JSON yang mungkin diterima webhook dalam produksi.

Untuk memulai, yang Anda butuhkan hanyalah URL ke instance webhook yang berjalan. Framework pengujian mudah diinstal, dan Anda dapat menguji webhook dengan satu perintah.

Memulai

Menginstal framework

Cara termudah untuk menginstal framework adalah dengan pengelola paket NPM. Framework dipublikasikan di registry paket NPM, sehingga Anda dapat menginstalnya dengan npm:

npm install -g bm-test-framework

Menjalankan pengujian

Setelah paket terinstal, Anda dapat menyediakan URL webhook sebagai variabel lingkungan dan menjalankan semua pengujian dengan perintah berikut:

BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework

Hasil framework pengujian akan terlihat seperti ini:

  Sending payloads to <Your webhook URL>
      ✔ authentication-request.json should return 200
      ✔ event-receive.json should return 200
      ✔ image-message.json should return 200 (862ms)
      ✔ read-receipt.json should return 200
      ✔ suggestion-message.json should return 200
      ✔ text-message.json should return 200 (134ms)
      ✔ text-with-dialogflow-response.json should return 200 (128ms)
      ✔ user-receipt.json should return 200

Dalam contoh pengujian ini, semua kasus pengujian lulus.

Jika webhook Anda gagal pada salah satu kasus pengujian, artinya webhook Anda tidak merespons 200 OK dengan payload JSON kasus pengujian tersebut. Dalam hal ini, framework pengujian akan mencetak informasi error untuk membantu Anda melakukan debug. Lihat README framework pengujian untuk mempelajari kasus pengujian tertentu lebih lanjut.

Menggunakan framework dalam project NodeJS Anda

Untuk menggunakan framework dari dalam kode Anda sendiri dalam project NodeJS, atau dari dalam rangkaian pengujian Mocha, instal paket tersebut terlebih dahulu sebagai dependensi pengembangan:

npm install --save-dev bm-test-framework

Setelah diinstal, Anda dapat membuat objek BmTestFramework untuk mengelola pengujian:

const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});

Array anggota payloads berisi semua kasus pengujian. Anda dapat menggunakan metode sendPayload untuk menjalankan pengujian tertentu. Misalnya, kode berikut menjalankan pengujian pertama dalam framework:

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

Mengonfigurasi pengujian

Selain variabel lingkungan BMTF_ENDPOINT_URL yang diperlukan, Anda juga dapat menetapkan variabel lingkungan opsional untuk menyesuaikan perilaku pengujian:

Variabel lingkungan Nama kolom konfigurasi Jenis Deskripsi
BMTF_RANDOM_UUID acakUuid boolean Jika true, menetapkan ID percakapan ke UUID acak dengan format yang valid. Jika salah, menetapkan semua ID percakapan ke "ID-Penempatan".
BMT_ARPPU timeout Angka atau string waktu yang diformat Menetapkan waktu tunggu dalam milidetik untuk setiap kasus pengujian. Waktu tunggu default adalah 2.000 md untuk setiap kasus pengujian. Lihat referensi Mocha API untuk mengetahui detail jenis dan spesifikasi pemformatan.

Misalnya, kode berikut menjalankan framework pengujian dari command line dengan opsi UUID acak yang diaktifkan dan waktu tunggu 1000 md:

BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework

Untuk menyesuaikan perilaku pengujian dalam project NodeJS, Anda juga dapat meneruskan variabel yang sama ke dalam objek config saat membuat BmTestFramework:

const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});