আপনার ওয়েবহুক পরীক্ষা করুন

আপনার ওয়েবহুক ডেভেলপ করার সময়, আপনি বাস্তব ব্যবসা বার্তা পেলোড দিয়ে এটি পরীক্ষা করতে চাইতে পারেন। ম্যানুয়ালি পরীক্ষা তৈরি করার পরিবর্তে, আপনি আপনার ওয়েবহুককে বিভিন্ন JSON পেলোড প্রকারের সাথে পরীক্ষা করতে ব্যবসা বার্তা পরীক্ষার কাঠামো ব্যবহার করতে পারেন যা আপনার ওয়েবহুক উৎপাদনে পেতে পারে।

শুরু করার জন্য, আপনার ওয়েবহুকের চলমান উদাহরণের জন্য আপনার যা দরকার তা হল একটি URL৷ পরীক্ষার ফ্রেমওয়ার্ক ইনস্টল করা সহজ, এবং আপনি একটি একক কমান্ড দিয়ে আপনার ওয়েবহুক পরীক্ষা করতে পারেন।

শুরু হচ্ছে

ফ্রেমওয়ার্ক ইনস্টল করুন

ফ্রেমওয়ার্ক ইনস্টল করার সবচেয়ে সহজ উপায় হল NPM প্যাকেজ ম্যানেজার । ফ্রেমওয়ার্কটি এনপিএম প্যাকেজ রেজিস্ট্রিতে প্রকাশিত হয়েছে, তাই আপনি এটি npm দিয়ে ইনস্টল করতে পারেন:

npm install -g bm-test-framework

পরীক্ষা চালান

প্যাকেজ ইনস্টল করার সাথে, আপনি একটি পরিবেশ পরিবর্তনশীল হিসাবে আপনার ওয়েবহুক URL সরবরাহ করতে পারেন এবং নিম্নলিখিত কমান্ডের সাথে সমস্ত পরীক্ষা চালাতে পারেন:

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 প্রকল্পে কাঠামো ব্যবহার করুন

একটি নোডজেএস প্রকল্পে আপনার নিজের কোডের মধ্যে থেকে বা একটি মোচা টেস্ট স্যুটের মধ্যে থেকে ফ্রেমওয়ার্কটি ব্যবহার করতে, প্রথমে প্যাকেজটিকে একটি বিকাশ নির্ভরতা হিসাবে ইনস্টল করুন:

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 randomUuid বুলিয়ান সত্য হলে, কথোপকথন আইডি একটি বৈধ বিন্যাস সহ একটি এলোমেলো UUID-তে সেট করে। মিথ্যা হলে, সমস্ত কথোপকথন আইডি "কনভারসেশন-আইডি" এ সেট করে।
BMTF_TIMEOUT সময়সীমা সংখ্যা বা ফরম্যাট করা সময় স্ট্রিং প্রতিটি পরীক্ষার ক্ষেত্রে মিলিসেকেন্ডে সময়সীমা সেট করে। প্রতিটি পরীক্ষার ক্ষেত্রে ডিফল্ট সময়সীমা হল 2000ms। বিশদ প্রকার এবং বিন্যাস নির্দিষ্টকরণের জন্য Mocha API রেফারেন্স দেখুন।

উদাহরণ স্বরূপ, নিম্নোক্ত কোডটি র্যান্ডম UUID বিকল্প সক্ষম করে এবং 1000ms এর টাইমআউট সহ কমান্ড লাইন থেকে পরীক্ষা কাঠামো চালায়:

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

আপনার নোডজেএস প্রকল্পে পরীক্ষার আচরণ কাস্টমাইজ করতে, আপনি যখন আপনার BmTestFramework তৈরি করবেন তখন আপনি config অবজেক্টে একই ভেরিয়েবল পাস করতে পারেন:

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