Mercurial > hg > nginx-tests
view http_include.t @ 1477:8b122b35703b
Tests: fixed session reuse tests in ssl_certificate.t with TLSv1.3.
Previously, session data was retrieved too early, before server passed
application data, which usually means NewSessionTicket is not yet sent.
The fix is to ask server for application data, then retrieve a session.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 20 May 2019 16:00:40 +0300 |
parents | ed2be714a3af |
children | 5ac6efbe5552 |
line wrap: on
line source
#!/usr/bin/perl # (C) Sergey Kandaurov # (C) Nginx, Inc. # Tests for include directive. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http rewrite proxy access/) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% upstream u { include ups.conf; } server { listen 127.0.0.1:8080; server_name localhost; if ($arg_s) { include sif.conf; } location / { if ($arg_l) { include lif.conf; } } location /lmt { limit_except GET { include lmt.conf; } } location /proxy { add_header X-IP $upstream_addr always; proxy_pass http://u/backend; } location /backend { } } } EOF my $p = port(8080); $t->write_file('sif.conf', 'return 200 SIF;'); $t->write_file('lif.conf', 'return 200 LIF;'); $t->write_file('lmt.conf', 'deny all;'); $t->write_file('ups.conf', "server 127.0.0.1:$p;"); $t->try_run('no include in any context')->plan(5); ############################################################################### like(http_get('/?s=1'), qr/SIF/, 'include in server if'); like(http_get('/?l=1'), qr/LIF/, 'include in location if'); like(http_post('/lmt'), qr/ 403 /, 'include in limit_except'); like(http_get('/proxy'), qr/X-IP: 127.0.0.1:$p/, 'include in upstream'); unlike(http_get('/'), qr/ 200 /, 'no include'); ############################################################################### sub http_post { my ($uri) = @_; http(<<EOF); POST $uri HTTP/1.0 Host: localhost EOF } ###############################################################################