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

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

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

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

Начиная

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

В данной реализации также не используются библиотеки протокола Protocol Buffer, а вместо этого она опирается на простую сериализацию 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 и установите точки останова там, где это необходимо.

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

Загрузите утилиту для тестирования системы бронирования . Для ее установки следуйте инструкциям по установке, приведенным на странице 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).