Совместная интеграция - это сервис для передачи необработанных навигационных данных (таких как rssi, major, minor, uuid) в систему Навигационных решений
Павел Тычинин (p.tychinin@navigine.com | @p_tychinin)
Совместная интеграция написана на Node.js (v14) с использованием фреймворка Koa. Маршрутизатор использует схему валидации Joi для проверки входных и выходных данных. Кроме того, проект использует несколько внутренних библиотек (логгер Navigine и библиотеку AMQP, которые хранятся во внутреннем хранилище (Nexus)
export NPM_TOKEN="..."
export NPM_AUTH=".."
git@gitlab.navigine.com:navigine/common-Integration.git
)npm install
rabbitmq:
domain: queue_domain
input_queue: queue_name
password: queue_password
port: 5672
user: queue_user
auth:
domain: auth.url
url_prefix: /auth
reports:
domain: reports.url
url_prefix: /reports
Для запуска e2e-тестов необходимо создать тестовое приложение/локацию/подлокацию с 4 тестовыми объектами и добавить информацию в раздел тестов в файле развертывания (deploy/group_vars/{{имя окружения}}/main.yml).
tests:
apiKey: ""
locationId:
sublocationId:
timeout: 20000
devices:
packetData101:
deviceMacAddress: ""
type: 101
macAddress: ""
packetData203:
deviceMacAddress: ""
type: 203
major:
minor:
uuid: ""
packetData202:
deviceMacAddress: " "
type: 202
macAddress: " "
packetData400:
deviceMacAddress: " "
type: 400
tracking:
domain: tracking.url
url_prefix: /tracking
Тесты написаны на Mocha. Главный файл: unit_tests/test.js
rabbitmq:
domain: queue_domain
input_queue: queue_name
password: queue_password
port: 5672
user: queue_user
common:
release: local
url_prefix: /common