Mercurial > hg > nginx-tests
view sub_filter.t @ 386:1b205a3332de
Tests: adjusted limit_req rate value.
This shortens excessive test execution time due to unnecessarily delayed
backend connection after client connection close, which is usually observed
when the client connection is closed before the request is proxied to backend.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 26 Mar 2014 22:50:22 +0400 |
parents | e9de4da234c0 |
children | 847ea345becb |
line wrap: on
line source
#!/usr/bin/perl # (C) Maxim Dounin # Tests for sub filter. ############################################################################### use warnings; use strict; use Test::More; use Socket qw/ CRLF /; 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 sub/)->plan(14) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; sub_filter_types *; sub_filter foo bar; location / { } location /once { return 200 $arg_b; } location /many { sub_filter_once off; return 200 $arg_b; } location /complex { sub_filter abac _replaced; return 200 $arg_b; } location /complex2 { sub_filter ababX _replaced; return 200 $arg_b; } location /complex3 { sub_filter aab _replaced; return 200 $arg_b; } } } EOF $t->write_file('foo.html', 'foo'); $t->write_file('foofoo.html', 'foofoo'); $t->run(); ############################################################################### like(http_get('/foo.html'), qr/bar/, 'sub_filter'); like(http_get('/foofoo.html'), qr/barfoo/, 'once default'); like(http_get('/once?b=foofoo'), qr/barfoo/, 'once'); like(http_get('/many?b=foofoo'), qr/barbar/, 'many'); TODO: { local $TODO = 'not yet' unless $t->has_version('1.5.3'); like(http_get('/many?b=fo'), qr/fo/, 'incomplete'); like(http_get('/many?b=foofo'), qr/barfo/, 'incomplete long'); } like(http_get('/complex?b=abac'), qr/_replaced/, 'complex'); like(http_get('/complex?b=abaabac'), qr/aba_replaced/, 'complex 1st char'); TODO: { local $TODO = 'not yet' unless $t->has_version('1.5.3'); like(http_get('/complex?b=ababac'), qr/replaced/, 'complex 2nd char'); } like(http_get('/complex2?b=ababX'), qr/_replaced/, 'complex2'); TODO: { local $TODO = 'not yet' unless $t->has_version('1.5.3'); like(http_get('/complex2?b=abababX'), qr/ab_replaced/, 'complex2 long'); } like(http_get('/complex3?b=aab'), qr/_replaced/, 'complex3 aab in aab'); TODO: { local $TODO = 'not yet' unless $t->has_version('1.5.3'); like(http_get('/complex3?b=aaab'), qr/a_replaced/, 'complex3 aab in aaab'); } like(http_get('/complex3?b=aaaab'), qr/aa_replaced/, 'complex3 aab in aaaab'); ###############################################################################