Это эталонная реализация 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).