Skeleton du serveur de réservation pour Node.js

Ce document est une mise en œuvre de référence du serveur de réservation API v3 pour une intégration standard et du serveur de réservation API v3 pour une intégration dans une liste d'attente basée sur Node.js.

Prérequis

Nécessite l'installation de

Premiers pas

Le serveur de réservation est mis en œuvre à l'aide de Node.js standard sans bibliothèques ni frameworks supplémentaires, à titre d'illustration. Si vous utilisez un autre framework, vous pouvez facilement le remplacer par Express.js, MEAN.js ou tout autre framework de votre choix basé sur Node.js.

La mise en œuvre n'utilise pas de bibliothèques de tampons de protocole, mais repose plutôt sur une simple sérialisation JSON et ses méthodes JSON.parse() et JSON.stringify().

Pour télécharger le projet, exécutez la commande suivante:

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

Le code base complet ne comprend que deux fichiers JavaScript:

  • bookingserver.js : serveur HTTP et logique de traitement des requêtes, y compris l'authentification
  • apiv3methods.js : méthodes implémentant l'interface de l'API v3

Après avoir téléchargé les fichiers, vous pouvez démarrer le serveur de réservation en exécutant la commande suivante:

node bookingserver.js

Le squelette écrit toutes les requêtes entrantes et sortantes dans la console, ce qui vous permet de surveiller son exécution à des fins de traçage.

Si vous avez besoin d'un IDE pour le changement de code ou le débogage, vous pouvez utiliser Visual Studio Code ou tout autre éditeur de votre choix. Déboguez le projet en démarrant le fichier "serverserver.js" dans l'environnement Node.js et en définissant des points d'arrêt si nécessaire.

Tester votre serveur de réservation

Téléchargez l'utilitaire de test de réservation. Pour l'installer, suivez les instructions d'installation fournies sur sa page README.

Pour les tests, vous devez créer un fichier texte pour stocker vos identifiants. Saisissez votre nom d'utilisateur et votre mot de passe sur une seule ligne, par exemple dans un fichier nommé cred.txt:

nomutilisateur:motdepasse

Vous avez également besoin d'une copie locale d'un flux de disponibilité pour vos marchands de test. Dans les exemples de commandes ci-dessous, le flux disponibilité est avail.json.

Vous pouvez maintenant tester votre serveur de réservation à l'aide des commandes suivantes:

  • Testez les appels vers la méthode HealthCheck :
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • Appels de test pour la méthode CheckAvailability :
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • Tester les appels aux méthodes CreateBooking et UpdateBooking :
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

Lorsque vous mettez en œuvre votre propre serveur de réservation, vous devrez peut-être exécuter des tests supplémentaires sur celui-ci (par exemple, list_bookings_test, reschedule_test, etc.) afin de vérifier que tous les tests sont concluants (-all_tests=true).