هيكل خادم الحجز لنظام Node.js

هذا هو تطبيق مرجعي خادم الحجز للإصدار الثالث من واجهة برمجة التطبيقات للدمج العادي على أساس Node.js

المتطلبات الأساسية

يتطلب تثبيت

البدء

ويتم استخدام خادم الحجز باستخدام Node.js قياسي بدون أي مكتبات أو أطر عمل إضافية لأغراض التوضيح. إذا كنت باستخدام أي أطر عمل أخرى، يمكنك بسهولة تغيير طريقة التنفيذ Express.js أو MEAN.js أو أي إطار عمل آخر مستند إلى Node.js من اختيارك

ولا يستخدم التطبيق أيضًا مكتبات مخزن البروتوكولات المؤقت، ولكن بدلًا من ذلك يعتمد على تسلسل JSON البسيط وJSON.parse() وJSON.stringify() . الطرق.

لتنزيل المشروع، نفِّذ الأمر التالي:

git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton

تتألف قاعدة الرمز بالكامل من ملفَّي JavaScript فقط:

  • Bookserver.js - خادم HTTP وطلبات منطق التعامل، بما في ذلك المصادقة
  • apiv3methods.js - طرق تنفيذ واجهة الإصدار 3 من واجهة برمجة التطبيقات

بعد تنزيل الملفات، يمكنك بدء خادم الحجز من خلال تشغيل الأمر:

node bookingserver.js

يكتب الهيكل جميع الطلبات الواردة والصادرة إلى وحدة التحكم، بحيث مراقبة تنفيذها لأغراض التتبع.

إذا احتجت إلى بيئة تطوير متكاملة (IDE) لإجراء تغييرات على الرموز البرمجية أو تصحيح الأخطاء، يمكنك استخدام Visual Studio Code أو أي رمز آخر المحرر الذي تختاره. يمكنك تصحيح أخطاء المشروع عن طريق بدء Bookserver.js في بيئة Node.js وتعيين نقاط التوقف عند الحاجة.

اختبار خادم الحجز

تنزيل أداة اختبار الحجز: لتثبيته، اتّبِع خطوات التثبيت المقدَّمة التعليمات في صفحة README.

لإجراء الاختبارات، عليك إنشاء ملف نصي لتخزين بيانات الاعتماد. أدخِل اسم المستخدم وكلمة المرور في سطر واحد، مثلاً في ملف. يُسمى cred.txt:

اسم المستخدم:كلمة المرور

وتحتاج أيضًا إلى نسخة محلية من خلاصة مدى التوفّر للتجّار التجريبيين. في أوامر النماذج أدناه، خلاصة "مدى التوفّر" هي avail.json.

الآن، يمكنك اختبار خادم الحجز باستخدام هذه الأوامر:

  • اختبار المكالمات الواردة إلى طريقة HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • اختبار الطلبات لطريقة التحقّق من مدى التوفّر:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • اختبار المكالمات لطريقتَي CreateBooking وUpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

أثناء تنفيذ خادم الحجز الخاص بك، قد تحتاج إلى تشغيل اختبارات إضافية ضده (مثل list_bookings_test، وrescheduling_test، وما إلى ذلك) بهدف اجتياز جميع الاختبارات (-all_tests=true).