Mercurial > hg > nginx-tests
annotate stream_js_import.t @ 1858:cdcd75657e52
Tests: added has_feature() tests for IO::Socket::SSL.
The following distinct features supported:
- "socket_ssl", which requires IO::Socket::SSL and also implies
existance of the IO::Socket::SSL::SSL_VERIFY_NONE() symbol.
It is used by most of the tests.
- "socket_ssl_sni", which requires IO::Socket::SSL with the can_client_sni()
function (1.84), and SNI support available in Net::SSLeay and the OpenSSL
library being used. Used by ssl_sni.t, ssl_sni_sessions.t,
stream_ssl_preread.t. Additional Net::SSLeay testing is believed to be
unneeded and was removed.
- "socket_ssl_alpn", which requires IO::Socket::SSL with ALPN support (2.009),
and ALPN support in Net::SSLeay and the OpenSSL library being used.
Used by h2_ssl.t, h2_ssl_verify_client.t, stream_ssl_alpn.t,
stream_ssl_preread_alpn.t.
- "socket_ssl_sslversion", which requires IO::Socket::SSL with
the get_sslversion() and get_sslversion_int() methods (1.964).
Used by mail_imap_ssl.t.
- "socket_ssl_reused", which requires IO::Socket::SSL with
the get_session_reused() method (2.057). To be used in the following
patches.
This makes it possible to simplify and unify various SSL tests.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 18 May 2023 18:07:02 +0300 |
parents | f3ba4c74de31 |
children |
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 { |
1609
f3ba4c74de31
Tests: added TEST_GLOBALS_STREAM variable support.
Andrei Belov <defan@nginx.com>
parents:
1562
diff
changeset
|
37 %%TEST_GLOBALS_STREAM%% |
f3ba4c74de31
Tests: added TEST_GLOBALS_STREAM variable support.
Andrei Belov <defan@nginx.com>
parents:
1562
diff
changeset
|
38 |
1562
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
39 js_set $test foo.bar.p; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
40 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
41 js_import lib.js; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
42 js_import foo from ./main.js; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
43 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
44 server { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
45 listen 127.0.0.1:8081; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
46 return $test; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
47 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
48 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
49 server { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 listen 127.0.0.1:8082; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 js_access lib.access; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 js_preread lib.preread; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 js_filter lib.filter; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
54 proxy_pass 127.0.0.1:8083; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
55 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
56 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
57 server { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
58 listen 127.0.0.1:8083; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 return "x"; |
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 } |
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 EOF |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
64 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
65 $t->write_file('lib.js', <<EOF); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
66 var res = ''; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
68 function access(s) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
69 res += '1'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
70 s.allow(); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
71 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
72 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
73 function preread(s) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
74 s.on('upload', function (data) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
75 res += '2'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
76 if (res.length >= 3) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
77 s.done(); |
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 } |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
81 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
82 function filter(s) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
83 s.on('upload', function(data, flags) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
84 s.send(data); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
85 res += '3'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
86 }); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
87 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
88 s.on('download', function(data, flags) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
89 if (!flags.last) { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
90 res += '4'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
91 s.send(data); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
92 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
93 } else { |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
94 res += '5'; |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 s.send(res, {last:1}); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
96 s.off('download'); |
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 } |
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 export default {access, preread, filter}; |
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 EOF |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
104 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
105 $t->write_file('main.js', <<EOF); |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
106 export default {bar: {p(s) {return "P-TEST"}}}; |
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 EOF |
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 $t->try_run('no njs available')->plan(2); |
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 ############################################################################### |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
113 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
114 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
|
115 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
|
116 |
b4f528987146
Tests: added js_import tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
117 ############################################################################### |