זוהי הטמעה לדוגמה של שרת הזמנות API v3 לשילוב רגיל שמבוססת על 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 – שיטות להטמעה של ממשק 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).