هذا هو نموذج تنفيذ مرجعي لمحاولة استخدام خادم الحجز في الإصدار 3 من واجهة برمجة التطبيقات لعملية الدمج العادية استنادًا إلى 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 فقط:
- bookingserver.js: خادم HTTP ومنطق معالجة الطلبات، بما في ذلك المصادقة
- apiv3methods.js - طرق تنفيذ واجهة الإصدار 3 من واجهة برمجة التطبيقات
بعد تنزيل الملفات، يمكنك بدء "خادم الحجز" من خلال تنفيذ الأمر التالي:
node bookingserver.js
يُسجِّل الهيكل جميع الطلبات الواردة والصادرة في وحدة التحكّم، حتى تتمكّن من تتبُّع تنفيذه لأغراض التتبُّع.
إذا كنت بحاجة إلى بيئة تطوير متكاملة لإجراء تغييرات على الرموز البرمجية أو تصحيح الأخطاء، يمكنك استخدام IDE Visual Studio Code أو أي IDE آخر من اختيارك. يمكنك تصحيح أخطاء المشروع من خلال بدء bookingserver.js في بيئة Node.js وضبط نقاط التوقف عند الحاجة.
اختبار خادم الحجز
نزِّل أداة اختبار الحجز. لتثبيته، اتّبِع تعليمات التثبيت المقدَّمة في صفحة README.
لإجراء الاختبارات، عليك إنشاء ملف نصي لتخزين بيانات الاعتماد. أدخِل اسم المستخدم وكلمة المرور في سطر واحد، على سبيل المثال، في ملف باسم cred.txt:
username:password
ستحتاج أيضًا إلى نسخة محلية من خلاصة معلومات التوفّر للتجّار الذين تختبرهم. في نماذج الأوامر أدناه، تكون خلاصة مدى التوفّر هي avail.json.
يمكنك الآن اختبار خادم الحجز باستخدام الأوامر التالية:
- اختبار طلبات إجراء HealthCheck:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- يمكنك اختبار طلبات الاتصال بطريقة CheckAvailability:
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).