annotate js_modules.t @ 1851:0351dee227a8

Tests: unbreak tests with dynamic certificates on stable. In 74cffa9d4c43, ticket based session reuse is enabled in addition to using a shared SSL session cache. This changed how a session can be resumed in a different server: - for a session ID based resumption, it is resumed in the same context - when using session tickets, a key name is also checked for matching - with a ticket callback, this is skipped in favor of callback's logic This makes 'session id context match' tests fail with session tickets on stable since ticket key names are unique in distinct SSL contexts. On the other hand, tests pass on 1.23.2+ due to automatic ticket keys rotation that installs ticket callback, and using a common shared SSL session cache.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 28 Mar 2023 01:36:32 +0400
parents 18ac4d9e5a2a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1456
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
2
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
3 # (C) Dmitry Volyntsev
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
5
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
6 # Tests for http njs module, ES6 import, export.
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
7
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
8 ###############################################################################
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
9
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
10 use warnings;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
11 use strict;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
12
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
13 use Test::More;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
14
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
16
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
17 use lib 'lib';
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
18 use Test::Nginx;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
19
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
20 ###############################################################################
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
21
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
22 select STDERR; $| = 1;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
23 select STDOUT; $| = 1;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
24
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
25 my $t = Test::Nginx->new()->has(qw/http/)
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
26 ->write_file_expand('nginx.conf', <<'EOF');
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
27
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
28 %%TEST_GLOBALS%%
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
29
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
30 daemon off;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
31
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
32 events {
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
33 }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
34
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
35 http {
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
37
1751
18ac4d9e5a2a Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1614
diff changeset
38 js_import test.js;
1456
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
39
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
40 server {
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
41 listen 127.0.0.1:8080;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
42 server_name localhost;
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
43
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
44 location /test {
1751
18ac4d9e5a2a Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1614
diff changeset
45 js_content test.test;
1456
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
46 }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
47 }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
48 }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
49
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
50 EOF
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
51
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
52 $t->write_file('test.js', <<EOF);
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
53 import m from 'module.js';
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
54
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
55 function test(r) {
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
56 r.return(200, m[r.args.fun](r.args.a, r.args.b));
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
57 }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
58
1751
18ac4d9e5a2a Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1614
diff changeset
59 export default {test};
18ac4d9e5a2a Tests: rewriting njs tests without deprecated "js_include".
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1614
diff changeset
60
1456
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
61 EOF
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
62
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
63 $t->write_file('module.js', <<EOF);
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
64 function sum(a, b) {
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
65 return Number(a) + Number(b);
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
66 }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
67
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
68 function prod(a, b) {
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
69 return Number(a) * Number(b);
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
70 }
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
71
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
72 export default {sum, prod};
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
73
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
74 EOF
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
75
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
76
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
77 $t->try_run('no njs modules')->plan(2);
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
78
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
79 ###############################################################################
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
80
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
81 like(http_get('/test?fun=sum&a=3&b=4'), qr/7/s, 'test sum');
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
82 like(http_get('/test?fun=prod&a=3&b=4'), qr/12/s, 'test prod');
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
83
f4ae08adc23f Tests: added njs modules tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
84 ###############################################################################