annotate stream_js_import.t @ 1847:a9704b9ed7a2

Tests: removed multiple server certificates from ssl_ocsp.t. Multiple server certificates are not needed to test OCSP verification of client certificates (in contrast to OCSP stapling, where server certificates are verified, and different staples should be correctly returned with different server certificates). And using multiple server certificates causes issues when testing with LibreSSL due to broken sigalgs-based server certificate selection in LibreSSL with TLSv1.3. Accordingly, the test is simplified to do not use multiple server certificates.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 23 Mar 2023 19:50:26 +0300
parents f3ba4c74de31
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ###############################################################################