Mercurial > hg > nginx-tests
annotate stream_js_import.t @ 1577:804a7409bc63
Tests: added ssl_ocsp test with failing request.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 19 Jun 2020 18:21:25 +0300 |
parents | b4f528987146 |
children | f3ba4c74de31 |
rev | line source |
---|---|
1562
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
2 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
3 # (C) Dmitry Volyntsev |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
5 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
6 # Tests for stream njs module, js_import directive. |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
7 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
9 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
11 use strict; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
12 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
14 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
16 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::Stream qw/ stream /; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
20 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
22 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
25 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http stream stream_return/) |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
28 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
30 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
31 daemon off; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
32 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
33 events { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
34 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
35 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
36 stream { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
37 js_set $test foo.bar.p; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
38 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
39 js_import lib.js; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
40 js_import foo from ./main.js; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
41 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
42 server { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
43 listen 127.0.0.1:8081; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
44 return $test; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
45 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
46 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
47 server { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
48 listen 127.0.0.1:8082; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
49 js_access lib.access; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 js_preread lib.preread; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 js_filter lib.filter; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 proxy_pass 127.0.0.1:8083; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
54 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
55 server { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
56 listen 127.0.0.1:8083; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
57 return "x"; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
58 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
60 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
61 EOF |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
62 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
63 $t->write_file('lib.js', <<EOF); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
64 var res = ''; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
65 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
66 function access(s) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 res += '1'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
68 s.allow(); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
69 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
70 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
71 function preread(s) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
72 s.on('upload', function (data) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
73 res += '2'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
74 if (res.length >= 3) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
75 s.done(); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
76 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
77 }); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
78 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
79 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
80 function filter(s) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
81 s.on('upload', function(data, flags) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
82 s.send(data); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
83 res += '3'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
84 }); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
85 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
86 s.on('download', function(data, flags) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
87 if (!flags.last) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
88 res += '4'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
89 s.send(data); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
90 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
91 } else { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
92 res += '5'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
93 s.send(res, {last:1}); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
94 s.off('download'); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
96 }); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
97 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
98 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
99 export default {access, preread, filter}; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
100 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
101 EOF |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
102 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
103 $t->write_file('main.js', <<EOF); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
104 export default {bar: {p(s) {return "P-TEST"}}}; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
105 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
106 EOF |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
107 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
108 $t->try_run('no njs available')->plan(2); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
109 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
110 ############################################################################### |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
111 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
112 is(stream('127.0.0.1:' . port(8081))->read(), 'P-TEST', 'foo.bar.p'); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
113 is(stream('127.0.0.1:' . port(8082))->io('0'), 'x122345', 'lib.access'); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
114 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
115 ############################################################################### |