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

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

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

शुरू करना

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

फ़्रेमवर्क को इंस्टॉल करने का सबसे आसान तरीका, एनपीएम पैकेज मैनेजर का इस्तेमाल करना है. यह फ़्रेमवर्क 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 प्रोजेक्ट में अपने कोड के अंदर से या मोका टेस्ट सुइट में, पहले पैकेज को डेवलपमेंट के तौर पर इंस्टॉल करें निर्भरता:

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

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

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

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

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

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

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

एनवायरमेंट वैरिएबल कॉन्फ़िगरेशन फ़ील्ड का नाम टाइप ब्यौरा
BMTF_RANDOM_UUID randomUuid बूलियन अगर सही है, तो बातचीत आईडी को मान्य फ़ॉर्मैट के साथ बिना किसी क्रम के यूयूआईडी पर सेट किया जाता है. अगर गलत है, तो सभी बातचीत आईडी को "CONVERSATION-ID" पर सेट करें.
BMTF_TIMEOUT टाइम आउट संख्या या फ़ॉर्मैट की गई समय स्ट्रिंग हर टेस्ट केस के लिए, मिलीसेकंड में टाइम आउट सेट करता है. हर टेस्ट केस के लिए, टाइम आउट की डिफ़ॉल्ट अवधि 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});