זוהי הטמעת עזר של שרת הזמנות של API v3 לשילוב רגיל שמבוססת על Node.js
דרישות מוקדמות
נדרשת התקנה של
תחילת העבודה
לשם המחשה, שרת ההזמנות מיושם באמצעות Node.js רגיל ללא ספריות או מסגרות נוספות. אם אתם משתמשים במסגרות אחרות, תוכלו לשנות בקלות את ההטמעה הזו ל-Express.js, ל-MEAN.js או לכל מסגרת אחרת מבוססת-Node.js שתרצו.
בנוסף, ההטמעה לא משתמשת בספריות של protocol buffer, אלא מסתמכת על שרשור פשוט של 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 – שיטות שמטמיעות את ממשק API v3
אחרי שמורידים את הקבצים, אפשר להפעיל את שרת ההזמנות על ידי הפעלת הפקודה:
node bookingserver.js
השלד כותב את כל הבקשות הנכנסות והיוצאות למסוף, כדי שתוכלו לעקוב אחרי הביצוע שלו למטרות מעקב.
אם אתם צריכים סביבת פיתוח משולבת (IDE) לשינויים בקוד או לניפוי באגים, תוכלו להשתמש ב-Visual Studio Code או בכל עורך אחר לבחירתכם. כדי לנפות באגים בפרויקט, מפעילים את 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).