वेबहुक की जांच करना

वेबहुक डेवलप करते समय, हो सकता है कि आप असली Business Messages पेलोड की मदद से इसकी जांच करना चाहें. मैन्युअल तरीके से टेस्ट बनाने के बजाय, Business जांच टेस्ट फ़्रेमवर्क का इस्तेमाल करके, अपने वेबहुक को प्रोडक्शन में मिल सकने वाले अलग-अलग JSON पेलोड के साथ अपने वेबहुक की जांच की जा सकती है.

शुरू करने के लिए, आपको बस एक यूआरएल चाहिए, जो आपके वेबहुक का चालू इंस्टेंस हो. टेस्ट फ़्रेमवर्क को इंस्टॉल करना आसान है और आप एक ही निर्देश से अपने वेबहुक की जांच कर सकते हैं.

रिपोर्ट का इस्तेमाल करना

फ़्रेमवर्क इंस्टॉल करें

फ़्रेमवर्क इंस्टॉल करने का सबसे आसान तरीका है, NPM पैकेज मैनेजर. फ़्रेमवर्क को NPM पैकेज रजिस्ट्री में प्रकाशित किया जाता है, ताकि आप इसे npm की मदद से इंस्टॉल कर सकें:

npm install -g bm-test-framework

जांच करना

पैकेज इंस्टॉल करने पर, वेबहुक यूआरएल को एनवायरमेंट वैरिएबल के तौर पर दिया जा सकता है और सभी निर्देश, इस निर्देश के साथ चलाए जा सकते हैं:

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

टेस्ट फ़्रेमवर्क के नतीजे कुछ इस तरह दिखते हैं:

  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

उदाहरण के तौर पर दी गई इस जांच में, सभी टेस्ट केस पास हो गए हैं.

अगर आपका वेबहुक किसी एक टेस्ट केस में फ़ेल हो जाता है, तो इसका मतलब है कि आपका वेबहुक उस टेस्ट केस और JSON पेलोड के साथ, 200 OK से जवाब नहीं लेता. ऐसे में, टेस्ट फ़्रेमवर्क गड़बड़ी की जानकारी प्रिंट कर देता है, ताकि आपको डीबग करने में मदद मिले. किसी खास टेस्ट केस के बारे में ज़्यादा जानने के लिए, टेस्ट फ़्रेमवर्क README देखें.

अपने NodeJS प्रोजेक्ट में फ़्रेमवर्क का इस्तेमाल करें

किसी NodeJS प्रोजेक्ट में अपने कोड के अंदर से या किसी Mocha टेस्ट सुइट से फ़्रेमवर्क का इस्तेमाल करने के लिए, पहले पैकेज को डेवलपमेंट डिपेंडेंसी के तौर पर इंस्टॉल करें:

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

इंस्टॉल होने के बाद, जांच को मैनेज करने के लिए, BmTestFramework ऑब्जेक्ट बनाया जा सकता है:

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

payloads सदस्य वाली कैटगरी में सभी टेस्ट केस शामिल होते हैं. कोई खास जांच करने के लिए sendPayload तरीके का इस्तेमाल किया जा सकता है. उदाहरण के लिए, नीचे दिया गया कोड फ़्रेमवर्क का पहला टेस्ट चलाता है:

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

जांच को कॉन्फ़िगर करना

ज़रूरी BMTF_ENDPOINT_URL एनवायरमेंट वैरिएबल के अलावा, टेस्ट एनवायरमेंट को पसंद के मुताबिक बनाने के लिए, वैकल्पिक एनवायरमेंट वैरिएबल भी सेट किए जा सकते हैं:

एनवायरमेंट वैरिएबल कॉन्फ़िगरेशन फ़ील्ड का नाम टाइप जानकारी
BMTF_RANDOM_UUID रैंडमUuid बूलियन अगर सही है, तो बातचीत के आईडी को किसी ऐसे रैंडम UUID पर सेट किया जाता है जो मान्य फ़ॉर्मैट में हो. गलत होने पर, सभी बातचीत आईडी को "बातचीत-आईडी" पर सेट करता है.
BMTF_सेटिंग टाइम आउट नंबर या फ़ॉर्मैट की गई टाइम स्ट्रिंग हर टेस्ट केस के लिए, टाइम आउट को मिलीसेकंड में सेट करता है. हर टेस्ट केस के लिए, डिफ़ॉल्ट टाइम आउट 2000 मि॰से॰ होता है. इस बारे में ज़्यादा जानकारी पाने और फ़ॉर्मैटिंग के बारे में खास जानकारी के लिए, Mocha API का रेफ़रंस देखें.

उदाहरण के लिए, नीचे दिया गया कोड कमांड लाइन से टेस्ट फ़्रेमवर्क चलाता है. इसके लिए, रैंडम UUID विकल्प को चालू किया जाता है और टाइम आउट 1000 मि॰से॰ होता है:

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

अपने NodeJS प्रोजेक्ट में जांच के व्यवहार को पसंद के मुताबिक बनाने के लिए, BmTestFramework बनाते समय, config ऑब्जेक्ट में वही वैरिएबल पास किए जा सकते हैं:

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