Esqueleto do servidor de agendamento para Node.js

Esta é uma implementação de referência do servidor de reservas da API v3 para integração padrão com base em Node.js.

Pré-requisitos

Requer a instalação de

Vamos começar

Para fins ilustrativos, o servidor de agendamento é implementado usando o Node.js padrão sem bibliotecas ou frameworks adicionais. Se você estiver usando qualquer outro framework, poderá alterar facilmente essa implementação para Express.js, MEAN.js ou qualquer outro framework baseado em Node.js de sua escolha.

A implementação também não usa bibliotecas de buffer de protocolo, mas depende da serialização JSON simples e dos métodos JSON.parse() e JSON.stringify().

Para fazer o download do projeto, execute o seguinte comando:

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

Toda a base do código consiste em apenas dois arquivos JavaScript:

  • Reserveserver.js: servidor HTTP e lógica de processamento de solicitações, incluindo autenticação
  • apiv3methods.js - métodos que implementam a interface da API v3

Depois de fazer o download dos arquivos, execute o comando a seguir para iniciar o servidor de agendamento:

node bookingserver.js

O esqueleto grava todas as solicitações recebidas e enviadas no console. Assim, é possível monitorar a execução para fins de rastreamento.

Se você precisar de um ambiente de desenvolvimento integrado para fazer alterações ou depuração de código, use o Visual Studio Code ou qualquer outro editor de sua escolha. Depure o projeto iniciando o Bookserver.js no ambiente Node.js e definindo pontos de interrupção onde for necessário.

Como testar o servidor de agendamento

Faça o download do utilitário de teste de reserva. Para instalá-lo, siga as instruções de instalação fornecidas na página README.

Para os testes, você precisa criar um arquivo de texto para armazenar as credenciais. Digite o nome de usuário e a senha em uma única linha, por exemplo, em um arquivo chamado cred.txt:

nome de usuário:senha

Você também precisa de uma cópia local de um feed de disponibilidade para seus comerciantes de teste. Nos comandos de amostra abaixo, o feed de disponibilidade é avail.json.

Agora você pode testar o servidor de agendamento com estes comandos:

  • Chamadas de teste para o método HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • Chamadas de teste para o método CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • Chamadas de teste para os métodos CreateBooking e UpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

Como você está implementando seu próprio servidor de agendamento, talvez precise executar mais testes nele (por exemplo, list_bookings_test, reschedule_test etc.) para que todos os testes sejam aprovados (-all_tests=true).