Esqueleto de servidor de reservas para Node.js

Esta es una implementación de referencia del servidor de reservas de la API v3 para la integración estándar basada en Node.js.

Requisitos previos

Requiere la instalación de

Comenzar

A modo de ejemplo, el servidor de reservas se implementa con Node.js estándar sin bibliotecas ni frameworks adicionales. Si usas cualquier otro framework, puedes cambiar fácilmente esta implementación a Express.js, MEAN.js o cualquier otro framework basado en Node.js que elijas.

La implementación tampoco usa bibliotecas de búferes de protocolo, sino que se basa en la serialización JSON simple y sus métodos JSON.parse() y JSON.stringify().

Para descargar el proyecto, ejecuta el siguiente comando:

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

Toda la base de código consta de solo dos archivos JavaScript:

  • bookingserver.js: Es el servidor HTTP y la lógica de control de solicitudes, incluida la autenticación.
  • apiv3methods.js: Métodos que implementan la interfaz de la API v3

Después de descargar los archivos, puedes iniciar el servidor de reservas ejecutando el siguiente comando:

node bookingserver.js

El esqueleto escribe todas las solicitudes entrantes y salientes en la consola, de modo que puedas supervisar su ejecución para realizar un seguimiento.

Si necesitas un IDE para realizar cambios en el código o depurarlo, puedes usar Visual Studio Code o cualquier otro editor que elijas. Para depurar el proyecto, inicia bookingserver.js en el entorno de Node.js y establece puntos de interrupción donde sea necesario.

Prueba tu servidor de reservas

Descarga la utilidad de prueba de reservas. Para instalarlo, sigue las instrucciones de instalación proporcionadas en su página de README.

Para las pruebas, debes crear un archivo de texto para almacenar tus credenciales. Ingresa tu nombre de usuario y contraseña en una sola línea, por ejemplo, en un archivo llamado cred.txt:

username:password

También necesitas una copia local de un feed de disponibilidad para tus comercios de prueba. En los siguientes comandos de muestra, el feed de disponibilidad es avail.json.

Ahora, puedes probar tu servidor de reservas con estos comandos:

  • Prueba las llamadas al método HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
  • Llamadas de prueba al método CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
  • Prueba las llamadas a los métodos CreateBooking y UpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"

Cuando implementes tu propio servidor de reservas, es posible que debas ejecutar pruebas adicionales (p. ej., list_bookings_test, rescheduling_test, etc.) con el objetivo de que todas las pruebas se aprueben (-all_tests=true).