Esqueleto do servidor de reservas para Node.js

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

Pré-requisitos

Requer uma instalação de

Primeiros passos

O servidor de reservas é implementado usando o Node.js padrão sem bibliotecas ou frameworks adicionais, apenas para fins de ilustração. Se você estiver usando outras estruturas, poderá mudar facilmente essa implementação para Express.js, MEAN.js ou qualquer outra estrutura baseada 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 de código consiste em apenas dois arquivos JavaScript:

  • bookingserver.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 baixar os arquivos, inicie o servidor de reservas executando o comando:

node bookingserver.js

O esqueleto grava todas as solicitações recebidas e enviadas no console, para que você possa monitorar a execução dele para fins de rastreamento.

Se você precisar de um ambiente de desenvolvimento integrado para mudanças no código ou depuração, use o Visual Studio Code ou qualquer outro editor de sua escolha. Depure o projeto iniciando bookingserver.js no ambiente Node.js e defina pontos de interrupção quando necessário.

Como testar o servidor de reserva

Baixe o utilitário de teste de reserva. Para instalar, siga as instruções de instalação fornecidas na página README.

Para os testes, crie um arquivo de texto para armazenar suas credenciais. Digite seu nome de usuário e senha em uma única linha, por exemplo, em um arquivo chamado cred.txt:

username:password

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

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

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

Ao implementar seu próprio servidor de agendamento, talvez seja necessário executar testes adicionais nele (por exemplo, list_bookings_test, rescheduling_test etc.) com o objetivo de aprovar todos os testes (-all_tests=true).