Esqueleto del servidor de reservas para Node.js

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

Requisitos previos

Requiere la instalación de

Cómo comenzar

El servidor de reservas se implementa mediante Node.js estándar sin bibliotecas ni marcos de trabajo adicionales con fines ilustrativos. Si usas otros marcos de trabajo, puedes cambiar fácilmente esta implementación a Express.js, MEAN.js o a cualquier otro marco basado en Node.js que prefieras.

La implementación tampoco usa 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, ejecute el siguiente comando:

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

La base de código completa consta de solo dos archivos JavaScript:

  • reservaserver.js: servidor HTTP y solicitudes de lógica de manejo, 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 con el siguiente comando:

node bookingserver.js

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

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

Prueba de tu servidor de reservas

Descarga Utilidad de prueba de reservas. Para instalarlo, sigue las instrucciones de instalación que se proporcionan en su página README.

Para las pruebas, debes 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:

nombre de usuario:contraseña

También necesita una copia local de un feed de disponibilidad para sus comercios de prueba. En los siguientes comandos de muestra, el feed de disponibilidad está disponible.json.

Ahora, puedes probar tu servidor de reservas con estos 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 implementes tu propio servidor de reservas, es posible que debas ejecutar pruebas adicionales en él (p. ej., list_bookings_test, rescheduling_test, etc.) con el objetivo de que se aprueben todas las pruebas (-all_tests=true).