Squelette de serveur de réservation pour Node.js

Il s'agit d'une implémentation de référence de l'API v3 du serveur de réservation pour l'intégration standard basée sur Node.js.

Prérequis

Nécessite l'installation de

Premiers pas

À des fins d'illustration, le serveur de réservation est implémenté à l'aide de Node.js standard sans bibliothèque ni framework supplémentaires. Si vous utilisez d'autres frameworks, vous pouvez facilement remplacer cette implémentation par Express.js, MEAN.js ou tout autre framework basé sur Node.js de votre choix.

L'implémentation n'utilise pas non plus de bibliothèques de tampons de protocole, mais repose plutôt sur une sérialisation JSON simple 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

L'ensemble du code base ne comprend que deux fichiers JavaScript:

  • bookingserver.js : logique de serveur HTTP et de gestion 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 afin que vous puissiez surveiller son exécution à des fins de traçage.

Si vous avez besoin d'un IDE pour modifier le code ou déboguer, vous pouvez utiliser Visual Studio Code ou tout autre éditeur de votre choix. Débogez le projet en démarrant bookingserver.js dans l'environnement Node.js et définissez 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:

username:password

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

Vous pouvez maintenant tester votre serveur de réservation avec les commandes suivantes:

  • Testez les appels à la méthode HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
  • Testez les appels à la méthode CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
  • Testez 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 implémentez votre propre serveur de réservation, vous devrez peut-être exécuter des tests supplémentaires (par exemple, list_bookings_test, rescheduling_test, etc.) afin que tous les tests soient acceptés (-all_tests=true).