Mercurial > hg > nginx-tests
annotate js_subrequests.t @ 1801:f129b693d83e
Tests: skip proxy_protocol2_tlv.t for nginx stable.
It fails with the nginx 1.22.1 due to lack of support $proxy_protocol_tlv_*
variables.
author | Eugene Grebenschikov <e.grebenshchikov@f5.com> |
---|---|
date | Wed, 26 Oct 2022 13:29:19 -0700 |
parents | 386748f328b1 |
children |
rev | line source |
---|---|
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
2 # |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
3 # (C) Dmitry Volyntsev. |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
5 |
1375
f168fc46c7a4
Tests: renamed JavaScript to njs.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1359
diff
changeset
|
6 # Tests for subrequests in http njs module. |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
7 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
9 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
11 use strict; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
12 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
14 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
15 use Socket qw/ CRLF /; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
16 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
17 BEGIN { use FindBin; chdir($FindBin::Bin); } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
18 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
19 use lib 'lib'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
20 use Test::Nginx; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
21 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
22 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
23 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
24 select STDERR; $| = 1; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
25 select STDOUT; $| = 1; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
26 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
27 eval { require JSON::PP; }; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
28 plan(skip_all => "JSON::PP not installed") if $@; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
29 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
30 my $t = Test::Nginx->new()->has(qw/http rewrite proxy cache/) |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
31 ->write_file_expand('nginx.conf', <<'EOF'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
32 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
33 %%TEST_GLOBALS%% |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
34 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
35 daemon off; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
36 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
37 events { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
38 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
39 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
40 http { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
41 %%TEST_GLOBALS_HTTP%% |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
42 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
43 proxy_cache_path %%TESTDIR%%/cache1 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
44 keys_zone=ON:1m use_temp_path=on; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
45 |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
46 js_import test.js; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
47 |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
48 js_set $async_var test.async_var; |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
49 js_set $subrequest_var test.subrequest_var; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 listen 127.0.0.1:8080; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
54 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
55 location /njs { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
56 js_content test.njs; |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
57 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
58 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 location /sr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
60 js_content test.sr; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
61 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
62 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
63 location /sr_pr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
64 js_content test.sr_pr; |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
65 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
66 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 location /sr_args { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
68 js_content test.sr_args; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
69 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
70 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
71 location /sr_options_args { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
72 js_content test.sr_options_args; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
73 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
74 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
75 location /sr_options_args_pr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
76 js_content test.sr_options_args_pr; |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
77 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
78 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
79 location /sr_options_method { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
80 js_content test.sr_options_method; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
81 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
82 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
83 location /sr_options_method_pr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
84 js_content test.sr_options_method_pr; |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
85 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
86 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
87 location /sr_options_body { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
88 js_content test.sr_options_body; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
89 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
90 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
91 location /sr_options_method_head { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
92 js_content test.sr_options_method_head; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
93 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
94 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 location /sr_body { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
96 js_content test.sr_body; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
97 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
98 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
99 location /sr_body_pr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
100 js_content test.sr_body_pr; |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
101 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
102 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
103 location /sr_body_special { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
104 js_content test.sr_body_special; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
105 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
106 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
107 location /sr_in_variable_handler { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
108 set $_ $async_var; |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
109 js_content test.sr_in_variable_handler; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
110 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
111 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
112 location /sr_detached_in_variable_handler { |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
113 return 200 $subrequest_var; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
114 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
115 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
116 location /sr_async_var { |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
117 set $_ $async_var; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
118 error_page 404 /return; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
119 return 404; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
120 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
121 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
122 location /sr_error_page { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
123 js_content test.sr_error_page; |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
124 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
125 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
126 location /sr_js_in_subrequest { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
127 js_content test.sr_js_in_subrequest; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
128 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
129 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
130 location /sr_js_in_subrequest_pr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
131 js_content test.sr_js_in_subrequest_pr; |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
132 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
133 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
134 location /sr_file { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
135 js_content test.sr_file; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
136 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
137 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
138 location /sr_cache { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
139 js_content test.sr_cache; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
140 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
141 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
142 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
143 location /sr_unavail { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
144 js_content test.sr_unavail; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
145 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
146 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
147 location /sr_unavail_pr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
148 js_content test.sr_unavail_pr; |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
149 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
150 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
151 location /sr_broken { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
152 js_content test.sr_broken; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
153 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
154 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
155 location /sr_too_large { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
156 js_content test.sr_too_large; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
157 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
158 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
159 location /sr_out_of_order { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
160 js_content test.sr_out_of_order; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
161 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
162 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
163 location /sr_except_not_a_func { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
164 js_content test.sr_except_not_a_func; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
165 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
166 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
167 location /sr_except_failed_to_convert_options_arg { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
168 js_content test.sr_except_failed_to_convert_options_arg; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
169 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
170 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
171 location /sr_except_invalid_options_header_only { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
172 js_content test.sr_except_invalid_options_header_only; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
173 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
174 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
175 location /sr_in_sr_callback { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
176 js_content test.sr_in_sr_callback; |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
177 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
178 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
179 location /sr_uri_except { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
180 js_content test.sr_uri_except; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
181 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
182 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
183 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
184 location /file/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
185 alias %%TESTDIR%%/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
186 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
187 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
188 location /p/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
189 proxy_cache $arg_c; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
190 proxy_pass http://127.0.0.1:8081/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
191 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
192 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
193 location /daemon/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
194 proxy_pass http://127.0.0.1:8082/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
195 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
196 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
197 location /too_large/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
198 subrequest_output_buffer_size 3; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
199 proxy_pass http://127.0.0.1:8081/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
200 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
201 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
202 location /sr_in_sr { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
203 js_content test.sr_in_sr; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
204 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
205 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
206 location /unavail { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
207 proxy_pass http://127.0.0.1:8084/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
208 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
209 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
210 location /sr_parent { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
211 js_content test.sr_parent; |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
212 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
213 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
214 location /js_sub { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
215 js_content test.js_sub; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
216 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
217 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
218 location /return { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
219 return 200 '["$request_method"]'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
220 } |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
221 |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
222 location /error_page_404 { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
223 return 404; |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
224 |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
225 error_page 404 /404.html; |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
226 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
227 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
228 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
229 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
230 listen 127.0.0.1:8081; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
231 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
232 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
233 location /sub1 { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
234 add_header H $arg_h; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
235 return 206 '{"a": {"b": 1}}'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
236 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
237 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
238 location /sub2 { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
239 return 404 '{"e": "msg"}'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
240 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
241 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
242 location /method { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
243 return 200 '["$request_method"]'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
244 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
245 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
246 location /body { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
247 js_content test.body; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
248 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
249 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
250 location /detached { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
251 js_content test.detached; |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
252 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
253 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
254 location /delayed { |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
255 js_content test.delayed; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
256 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
257 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
258 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
259 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
260 listen 127.0.0.1:8084; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
261 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
262 |
1337 | 263 return 444; |
264 } | |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
265 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
266 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
267 EOF |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
268 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
269 $t->write_file('test.js', <<EOF); |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
270 function test_njs(r) { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
271 r.return(200, njs.version); |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
272 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
273 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
274 function sr(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
275 subrequest_fn(r, ['/p/sub2'], ['uri', 'status']) |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
276 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
277 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
278 function sr_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
279 r.subrequest('/p/sub1', 'h=xxx') |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
280 .then(reply => r.return(200, JSON.stringify({h:reply.headersOut.h}))) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
281 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
282 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
283 function sr_args(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
284 r.subrequest('/p/sub1', 'h=xxx', reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
285 r.return(200, JSON.stringify({h:reply.headersOut.h})); |
1338 | 286 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
287 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
288 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
289 function sr_options_args(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
290 r.subrequest('/p/sub1', {args:'h=xxx'}, reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
291 r.return(200, JSON.stringify({h:reply.headersOut.h})); |
1338 | 292 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
293 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
294 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
295 function sr_options_args_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
296 r.subrequest('/p/sub1', {args:'h=xxx'}) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
297 .then(reply => r.return(200, JSON.stringify({h:reply.headersOut.h}))) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
298 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
299 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
300 function sr_options_method(r) { |
1482
34e86a28cabd
Tests: adapted js_subrequests.t to njs changes after 0.3.3.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1466
diff
changeset
|
301 r.subrequest('/p/method', {method:r.args.m}, body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
302 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
303 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
304 function sr_options_method_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
305 r.subrequest('/p/method', {method:r.args.m}) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
306 .then(body_fwd_cb); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
307 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
308 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
309 function sr_options_body(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
310 r.subrequest('/p/body', {method:'POST', body:'["REQ-BODY"]'}, |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
311 body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
312 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
313 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
314 function sr_options_method_head(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
315 r.subrequest('/p/method', {method:'HEAD'}, reply => { |
1557
b194552fcc21
Tests: adapted js_subrequests.t to njs changes after 0.4.0.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1554
diff
changeset
|
316 r.return(200, JSON.stringify({c:reply.status})); |
1338 | 317 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
318 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
319 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
320 function sr_body(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
321 r.subrequest('/p/sub1', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
322 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
323 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
324 function sr_body_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
325 r.subrequest('/p/sub1') |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
326 .then(body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
327 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
328 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
329 function sr_body_special(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
330 r.subrequest('/p/sub2', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
331 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
332 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
333 function body(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
334 r.return(200, r.variables.request_body); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
335 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
336 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
337 function delayed(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
338 setTimeout(r => r.return(200), 100, r); |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
339 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
340 |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
341 function detached(r) { |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
342 var method = r.variables.request_method; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
343 r.log(`DETACHED: \${method} args: \${r.variables.args}`); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
344 |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
345 r.return(200); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
346 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
347 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
348 function sr_in_variable_handler(r) { |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
349 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
350 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
351 function async_var(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
352 r.subrequest('/p/delayed', reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
353 r.return(200, JSON.stringify(["CB-VAR"])); |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
354 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
355 |
1338 | 356 return ""; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
357 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
358 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
359 function sr_error_page(r) { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
360 r.subrequest('/error_page_404') |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
361 .then(reply => {r.return(200, `reply.status:\${reply.status}`)}); |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
362 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
363 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
364 function subrequest_var(r) { |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
365 r.subrequest('/p/detached', {detached:true}); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
366 r.subrequest('/p/detached', {detached:true, args:'a=yyy', |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
367 method:'POST'}); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
368 |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
369 return "subrequest_var"; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
370 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
371 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
372 function sr_file(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
373 r.subrequest('/file/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
374 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
375 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
376 function sr_cache(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
377 r.subrequest('/p/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
378 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
379 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
380 function sr_unavail(req) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
381 subrequest_fn(req, ['/unavail'], ['uri', 'status']); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
382 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
383 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
384 function sr_unavail_pr(req) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
385 subrequest_fn_pr(req, ['/unavail'], ['uri', 'status']); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
386 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
387 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
388 function sr_broken(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
389 r.subrequest('/daemon/unfinished', reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
390 r.return(200, JSON.stringify({code:reply.status})); |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
391 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
392 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
393 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
394 function sr_too_large(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
395 r.subrequest('/too_large/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
396 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
397 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
398 function sr_in_sr(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
399 r.subrequest('/sr', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
400 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
401 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
402 function sr_js_in_subrequest(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
403 r.subrequest('/js_sub', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
404 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
405 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
406 function sr_js_in_subrequest_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
407 r.subrequest('/js_sub') |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
408 .then(body_fwd_cb); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
409 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
410 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
411 function sr_in_sr_callback(r) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
412 r.subrequest('/return', function (reply) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
413 try { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
414 reply.subrequest('/return'); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
415 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
416 } catch (err) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
417 r.return(200, JSON.stringify({e:err.message})); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
418 return; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
419 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
420 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
421 r.return(200); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
422 }); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
423 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
424 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
425 function sr_parent(r) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
426 try { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
427 var parent = r.parent; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
428 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
429 } catch (err) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
430 r.return(200, JSON.stringify({e:err.message})); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
431 return; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
432 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
433 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
434 r.return(200); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
435 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
436 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
437 function sr_out_of_order(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
438 subrequest_fn(r, ['/p/delayed', '/p/sub1', '/unknown'], |
1338 | 439 ['uri', 'status']); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
440 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
441 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
442 function collect(replies, props, total, reply) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
443 reply.log(`subrequest handler: \${reply.uri} status: \${reply.status}`) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
444 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
445 var rep = {}; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
446 props.forEach(p => {rep[p] = reply[p]}); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
447 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
448 replies.push(rep); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
449 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
450 if (replies.length == total) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
451 reply.parent.return(200, JSON.stringify(replies)); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
452 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
453 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
454 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
455 function subrequest_fn(r, subs, props) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
456 var replies = []; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
457 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
458 subs.forEach(sr => |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
459 r.subrequest(sr, collect.bind(null, replies, |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
460 props, subs.length))); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
461 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
462 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
463 function subrequest_fn_pr(r, subs, props) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
464 var replies = []; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
465 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
466 subs.forEach(sr => r.subrequest(sr) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
467 .then(collect.bind(null, replies, props, subs.length))); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
468 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
469 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
470 function sr_except_not_a_func(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
471 r.subrequest('/sub1', 'a=1', 'b'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
472 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
473 |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
474 let Failed = {get toConvert() { return {toString(){return {};}}}}; |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
475 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
476 function sr_except_failed_to_convert_options_arg(r) { |
1567
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
477 r.subrequest('/sub1', {args:Failed.toConvert}, ()=>{}); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
478 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
479 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
480 function sr_uri_except(r) { |
1567
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
481 r.subrequest(Failed.toConvert, 'a=1', 'b'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
482 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
483 |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
484 function body_fwd_cb(r) { |
1781
386748f328b1
Tests: updated js properties deprecated since 0.5.0.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1776
diff
changeset
|
485 r.parent.return(200, JSON.stringify(JSON.parse(r.responseText))); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
486 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
487 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
488 function js_sub(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
489 r.return(200, '["JS-SUB"]'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
490 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
491 |
1751
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
492 export default {njs:test_njs, sr, sr_pr, sr_args, sr_options_args, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
493 sr_options_args_pr, sr_options_method, sr_options_method_pr, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
494 sr_options_method_head, sr_options_body, sr_body, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
495 sr_body_pr, sr_body_special, body, delayed, detached, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
496 sr_in_variable_handler, async_var, sr_error_page, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
497 subrequest_var, sr_file, sr_cache, sr_unavail, sr_parent, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
498 sr_unavail_pr, sr_broken, sr_too_large, sr_in_sr, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
499 sr_js_in_subrequest, sr_js_in_subrequest_pr, js_sub, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
500 sr_in_sr_callback, sr_out_of_order, sr_except_not_a_func, |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
501 sr_uri_except, sr_except_failed_to_convert_options_arg}; |
18ac4d9e5a2a
Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1693
diff
changeset
|
502 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
503 EOF |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
504 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
505 $t->write_file('t', '["SEE-THIS"]'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
506 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
507 $t->try_run('no njs available')->plan(32); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
508 $t->run_daemon(\&http_daemon); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
509 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
510 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
511 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
512 is(get_json('/sr'), '[{"status":404,"uri":"/p/sub2"}]', 'sr'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
513 is(get_json('/sr_args'), '{"h":"xxx"}', 'sr_args'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
514 is(get_json('/sr_options_args'), '{"h":"xxx"}', 'sr_options_args'); |
1482
34e86a28cabd
Tests: adapted js_subrequests.t to njs changes after 0.3.3.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1466
diff
changeset
|
515 is(get_json('/sr_options_method?m=POST'), '["POST"]', 'sr method POST'); |
34e86a28cabd
Tests: adapted js_subrequests.t to njs changes after 0.3.3.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1466
diff
changeset
|
516 is(get_json('/sr_options_method?m=PURGE'), '["PURGE"]', 'sr method PURGE'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
517 is(get_json('/sr_options_body'), '["REQ-BODY"]', 'sr_options_body'); |
1557
b194552fcc21
Tests: adapted js_subrequests.t to njs changes after 0.4.0.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1554
diff
changeset
|
518 is(get_json('/sr_options_method_head'), '{"c":200}', 'sr_options_method_head'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
519 is(get_json('/sr_body'), '{"a":{"b":1}}', 'sr_body'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
520 is(get_json('/sr_body_special'), '{"e":"msg"}', 'sr_body_special'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
521 is(get_json('/sr_in_variable_handler'), '["CB-VAR"]', 'sr_in_variable_handler'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
522 is(get_json('/sr_file'), '["SEE-THIS"]', 'sr_file'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
523 is(get_json('/sr_cache?c=1'), '["SEE-THIS"]', 'sr_cache'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
524 is(get_json('/sr_cache?c=1'), '["SEE-THIS"]', 'sr_cached'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
525 is(get_json('/sr_js_in_subrequest'), '["JS-SUB"]', 'sr_js_in_subrequest'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
526 is(get_json('/sr_unavail'), '[{"status":502,"uri":"/unavail"}]', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
527 'sr_unavail'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
528 is(get_json('/sr_out_of_order'), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
529 '[{"status":404,"uri":"/unknown"},' . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
530 '{"status":206,"uri":"/p/sub1"},' . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
531 '{"status":200,"uri":"/p/delayed"}]', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
532 'sr_multi'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
533 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
534 is(get_json('/sr_pr'), '{"h":"xxx"}', 'sr_promise'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
535 is(get_json('/sr_options_args_pr'), '{"h":"xxx"}', 'sr_options_args_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
536 is(get_json('/sr_options_method_pr?m=PUT'), '["PUT"]', 'sr method PUT'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
537 is(get_json('/sr_body_pr'), '{"a":{"b":1}}', 'sr_body_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
538 is(get_json('/sr_js_in_subrequest_pr'), '["JS-SUB"]', 'sr_js_in_subrequest_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
539 is(get_json('/sr_unavail_pr'), '[{"status":502,"uri":"/unavail"}]', |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
540 'sr_unavail_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
541 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
542 like(http_get('/sr_detached_in_variable_handler'), qr/subrequest_var/, |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
543 'sr_detached_in_variable_handler'); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
544 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
545 like(http_get('/sr_error_page'), qr/reply\.status:404/, |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
546 'sr_error_page'); |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
547 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
548 http_get('/sr_broken'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
549 http_get('/sr_in_sr'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
550 http_get('/sr_in_variable_handler'); |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
551 http_get('/sr_async_var'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
552 http_get('/sr_too_large'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
553 http_get('/sr_except_not_a_func'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
554 http_get('/sr_except_failed_to_convert_options_arg'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
555 http_get('/sr_uri_except'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
556 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
557 is(get_json('/sr_in_sr_callback'), |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
558 '{"e":"subrequest can only be created for the primary request"}', |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
559 'subrequest for non-primary request'); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
560 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
561 $t->stop(); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
562 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
563 ok(index($t->read_file('error.log'), 'callback is not a function') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
564 'subrequest cb exception'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
565 ok(index($t->read_file('error.log'), 'failed to convert uri arg') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
566 'subrequest uri exception'); |
1567
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
567 ok(index($t->read_file('error.log'), 'failed to convert options.args') > 0, |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
568 'subrequest invalid args exception'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
569 ok(index($t->read_file('error.log'), 'too big subrequest response') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
570 'subrequest too large body'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
571 ok(index($t->read_file('error.log'), 'subrequest creation failed') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
572 'subrequest creation failed'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
573 ok(index($t->read_file('error.log'), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
574 'js subrequest: failed to get the parent context') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
575 'zero parent ctx'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
576 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
577 ok(index($t->read_file('error.log'), 'DETACHED') > 0, |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
578 'detached subrequest'); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
579 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
580 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
581 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
582 sub recode { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
583 my $json; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
584 eval { $json = JSON::PP::decode_json(shift) }; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
585 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
586 if ($@) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
587 return "<failed to parse JSON>"; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
588 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
589 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
590 JSON::PP->new()->canonical()->encode($json); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
591 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
592 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
593 sub get_json { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
594 http_get(shift) =~ /\x0d\x0a?\x0d\x0a?(.*)/ms; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
595 recode($1); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
596 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
597 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
598 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
599 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
600 sub http_daemon { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
601 my $server = IO::Socket::INET->new( |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
602 Proto => 'tcp', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
603 LocalAddr => '127.0.0.1:' . port(8082), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
604 Listen => 5, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
605 Reuse => 1 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
606 ) |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
607 or die "Can't create listening socket: $!\n"; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
608 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
609 local $SIG{PIPE} = 'IGNORE'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
610 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
611 while (my $client = $server->accept()) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
612 $client->autoflush(1); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
613 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
614 my $headers = ''; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
615 my $uri = ''; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
616 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
617 while (<$client>) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
618 $headers .= $_; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
619 last if (/^\x0d?\x0a?$/); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
620 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
621 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
622 $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
623 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
624 if ($uri eq '/unfinished') { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
625 print $client |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
626 "HTTP/1.1 200 OK" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
627 "Transfer-Encoding: chunked" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
628 "Content-Length: 100" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
629 CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
630 "unfinished" . CRLF; |
1338 | 631 close($client); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
632 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
633 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
634 } |
1338 | 635 |
636 ############################################################################### |