Esta é uma implementação de referência do servidor de agendamento da API v3 para integração padrão com base no Node.js.
Pré-requisitos
Exige uma instalação de
Primeiros passos
O servidor de reservas é implementado usando o Node.js padrão sem bibliotecas ou frameworks adicionais, para fins de ilustração. Se você estiver usando outras bibliotecas, poderá mudar facilmente essa implementação para Express.js, MEAN.js ou qualquer outra biblioteca 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: lógica de processamento de solicitações e servidor HTTP, incluindo autenticação
- apiv3methods.js: métodos que implementam a interface da API v3
Depois de fazer o download dos arquivos, inicie o servidor de reservas executando o comando:
node bookingserver.js
O esqueleto grava todas as solicitações de entrada e saída no console para que você possa monitorar a execução para fins de rastreamento.
Se você precisar de um ambiente de desenvolvimento integrado para mudanças ou depuração de código, use o Visual Studio Code ou qualquer outro editor que preferir. Faça a depuração do projeto iniciando o bookingserver.js no ambiente Node.js e definindo pontos de interrupção onde necessário.
Como testar o servidor de agendamento
Faça o download do utilitário de teste de agendamento. Para instalar, siga as instruções de instalação na página README.
Para os testes, você precisa criar 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 os 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:
- Teste as chamadas para o método HealthCheck:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- Teste as chamadas para o método CheckAvailability:
bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
- Teste as 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 outros testes (por exemplo, "list_bookings_test", "rescheduling_test" etc.) com o objetivo de todos os testes serem aprovados (-all_tests=true).