Скелет сервера бронирования для Node.js

Это эталонная реализация сервера бронирования API v3 для стандартной интеграции на основе Node.js.

Предварительные условия

Требуется установка

Начиная

Сервер бронирования реализован с использованием стандартного Node.js без каких-либо дополнительных библиотек или фреймворков, в целях иллюстрации. Если вы используете какие-либо другие платформы, вы можете легко изменить эту реализацию на Express.js, MEAN.js или любую другую платформу на основе Node.js по вашему выбору.

Реализация также не использует библиотеки буферов протоколов, а вместо этого опирается на простую сериализацию JSON и ее методы JSON.parse() и JSON.stringify().

Чтобы загрузить проект, выполните следующую команду:

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

Вся база кода состоит всего из двух файлов JavaScript:

  • bookingserver.js — HTTP-сервер и логика обработки запросов, включая аутентификацию.
  • apiv3methods.js — методы, реализующие интерфейс API v3.

После загрузки файлов вы можете запустить Сервер бронирования, выполнив команду:

node bookingserver.js

Скелет записывает все входящие и исходящие запросы на консоль, поэтому вы можете отслеживать их выполнение в целях отслеживания.

Если вам нужна IDE для изменения кода или отладки, вы можете использовать Visual Studio Code или любой другой редактор по вашему выбору. Отладьте проект, запустив bookingserver.js в среде Node.js и установив точки останова там, где это необходимо.

Тестирование вашего сервера бронирования

Скачать утилиту для тестирования Booking . Чтобы установить его, следуйте инструкциям по установке на странице README.

Для тестов вам необходимо создать текстовый файл для хранения ваших учетных данных. Введите имя пользователя и пароль в одной строке, например, в файле cred.txt:

имя пользователя:пароль

Вам также понадобится локальная копия фида доступности для тестовых продавцов. В примерах команд, приведенных ниже, канал доступности — это файлavail.json.

Теперь вы можете протестировать свой сервер бронирования с помощью этих команд:

  • Тестовые вызовы метода HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
  • Тестовые вызовы метода CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
  • Тестовые вызовы методов CreateBooking и UpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"

Поскольку вы реализуете свой собственный сервер бронирования, вам может потребоваться запустить для него дополнительные тесты (например, list_bookings_test, rescheduling_test и т. д.) с целью прохождения всех тестов (-all_tests=true).