Тестирование правил Nginx на Perl и модуль Test::Nginx

Вы когда нибудь писали на Perl ? Я нет, Haskell был, Lisp был, Perl - нет. На perl например до недавнего времени была написана главная страница яндеска пруф пока не переехала на GO. Но где можно было бы с ним встретится в энтерпрайз разработке мне сложно представить. Пишите кстати в комментариях если знаете примеры или сами писали.

Ну так вот, оказывается есть такой модуль Test::Nginx , с помощью которого можно тестировать location'ы nginx'а Пример такого теста:

use warnings; use Test::Nginx::Socket -Base; plan tests => repeat_each()2; no_shuffle(); run_tests(); DATA === TEST 1: rewrite + proxy + заголовки (обычный путь с сегментами) --- http_config server { listen 1984; location / { return 200 "$request_urin$http_x_orig_request_urin$http_x_urin$http_hostn"; } } --- config set $MY_SERVER http://127.0.0.1:1984; include /test/locations-under-test.conf; listen 127.0.0.1:8080; server_name test.local; --- request GET /api/v1/old-query/42 --- more_headers Host: example.test --- response_body_like: ^/api.$ --- error_code: 200

Чтобы совсем красиво было еще нужно это завернуть в докер, с установленным perl с модулем Test::Nginx и сам nginx .

Правда круто, тесты да еще и на perl'e :)

Тестирование правил Nginx на Perl и модуль Test::Nginx
Вы когда нибудь писали на Perl ? Я нет, Haskell был, Lisp был, Perl - нет | Сетка — социальная сеть от hh.ru