Esta es una implementación de referencia del servidor de reservas de la versión 3 de la API para la integración estándar basada en Node.js.
Requisitos previos
Requiere la instalación de
Comenzar
El servidor de reservas se implementa con Node.js estándar sin bibliotecas ni frameworks adicionales, solo con fines ilustrativos. Si usas otros frameworks, puedes cambiar fácilmente esta implementación a Express.js, MEAN.js o cualquier otro framework basado en Node.js que prefieras.
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: Lógica de control de solicitudes y servidor HTTP, 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, por lo que puedes supervisar su ejecución para fines de seguimiento.
Si necesitas un IDE para depurar o realizar cambios en el código, puedes usar Visual Studio Code o cualquier otro editor de tu elección. Depura el proyecto iniciando bookingserver.js en el entorno de Node.js y establece los 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 ejemplo, el feed de disponibilidad es avail.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"
- Llama a los métodos CreateBooking y UpdateBooking para realizar pruebas:
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.) con el objetivo de que todas las pruebas pasen (-all_tests=true).