Esquema del 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

Getting Started

Con fines ilustrativos, el servidor de reservas se implementa con Node.js estándar, sin bibliotecas ni frameworks adicionales. Si usas otro marco de trabajo, puedes cambiar con facilidad esta implementación a Express.js, MEAN.js o cualquier otro framework basado en Node.js que elijas.

La implementación tampoco utiliza bibliotecas de búfer 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:

  • Bookserver.js: Lógica de manejo de solicitudes y servidor HTTP, incluida la autenticación.
  • apiv3methods.js: Métodos que implementan la interfaz de API v3

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

node bookingserver.js

El esqueleto escribe todas las solicitudes entrantes y salientes en la consola, por lo que puedes supervisar su ejecución con fines de seguimiento.

Si necesitas un IDE para cambios de código o depuración, puedes usar Visual Studio Code o cualquier otro editor de tu elección. Depura el proyecto iniciando reserveserver.js en el entorno de Node.js y establece puntos de interrupción cuando 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 README.

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

nombredeusuario:contraseña

También necesitas una copia local del feed de disponibilidad para tus comercios de prueba. En los comandos de muestra que aparecen a continuación, el feed de disponibilidad es availability.json.

Ahora, puedes probar tu servidor de reservas con los siguientes comandos:

  • Llamadas de prueba 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"
    
  • Llamadas de prueba a los métodos CreateBooking y UpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

A medida que implementas tu propio servidor de reservas, es posible que debas ejecutar pruebas adicionales en él (p. ej., list_bookings_test, reScheduling_test, etc.) para que todas las pruebas se aprueben (-all_tests=true).