Как проверить интеграцию между локальной средой и внешними сервисами (webhooks)

С тех пор, как я начал разрабатывать веб-приложения, мне всегда было очень неприятно проверять запросы внешних служб и тестировать мое приложение по «реалистичным» сценариям. Какие решения у нас есть, чтобы представить мою локальную среду разработки внешним сервисам?

Я использую Laravel Homestead и / или PHP Development Server

1

Решение

Прежде чем искать окончательный ответ, я нашел решение, которое решает все эти проблемы эффективным, бесплатным способом, это Ngrok, продукт, созданный Алан Шрив — который работал на таких гигантов, как Microsoft и Twilio. Алан написал о создании Ngrok и статья в его блоге он описывает продукт как:

«Ngrok — это обратный прокси-сервер туннелирования, который устанавливает защищенные туннели от общедоступной конечной точки к локально работающей сетевой службе, захватывая весь трафик для проверки и воспроизведения. Это проект с открытым исходным кодом на GitHub».

Итак, теперь, когда вы немного узнали об инструменте и почему я его нашел, давайте продемонстрируем, как предоставить локальную среду, чтобы сторонние сервисы могли отправлять запросы в локальную среду через Webhook, — это очень просто, и два решения, которые я собирается представить, были протестированы и работают по следующим сценариям:

  • Сценарий 1: проект PHP с использованием PHP 7.2.6 Development Server
  • Сценарий 2: проект Laravel (PHP) с использованием Laravel Development Server (php artisan serve)
  • Сценарий 3: проект Laravel (PHP) с использованием Laravel Homestead

Для этого просто следуйте инструкциям:

  1. Доступ к Веб-сайт Ngrok
  2. Зарегистрироваться или Войти
  3. Загрузите клиент на основе вашей ОС
  4. Проверьте подлинность загруженного клиента, следуя инструкциям на той же странице, где вы его загрузили.

Для первых двух сценариев просто выполните следующую команду

ngrok http <host>:<port>

например: ngrok http 127.0.0.0.1: 666

Для третьего сценария (если вы используете домен для доступа к hometead Ex: homestead.test, вы должны переписать host-header. Но не беспокойтесь, чтобы добиться этого, просто увеличьте указанную выше команду до чего-то вроде)

ngrok http <homestead_host_ip>:<port> -host-header=<homestead_domain>

пример: ngrok http 192.168.10.10:80 -host-header = homestead.test

Вуаля, сейчас просто укажите URL, сгенерированный Ngrok, в Webhook, который вы хотите протестировать, и наслаждайтесь этим замечательным решением.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector