annotate stream_js_var2.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 390cbd46c46b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1782
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
2
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
3 # (C) Dmitry Volyntsev
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
5
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
6 # Tests for stream njs module, js_var directive in server context.
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
7
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
8 ###############################################################################
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
9
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
10 use warnings;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
11 use strict;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
12
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
13 use Test::More;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
14
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
16
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
17 use lib 'lib';
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
18 use Test::Nginx;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
19 use Test::Nginx::Stream qw/ stream /;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
20
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
21 ###############################################################################
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
22
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
23 select STDERR; $| = 1;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
24 select STDOUT; $| = 1;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
25
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
26 my $t = Test::Nginx->new()->has(qw/stream stream_return/)
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
27 ->write_file_expand('nginx.conf', <<'EOF');
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
28
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
29 %%TEST_GLOBALS%%
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
30
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
31 daemon off;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
32
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
33 events {
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
34 }
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
35
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
36 stream {
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
37 %%TEST_GLOBALS_STREAM%%
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
38
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
39 js_import test.js;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
40
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
41 js_var $foo;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
42
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
43 server {
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
44 listen 127.0.0.1:8081;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
45 js_var $bar a:$remote_addr;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
46 return $bar$foo;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
47 }
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
48
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
49 server {
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
50 listen 127.0.0.1:8082;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
51 js_set $var test.varr;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
52 return $var$foo;
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
53 }
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
54 }
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
55
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
56 EOF
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
57
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
58 $t->write_file('test.js', <<EOF);
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
59 function varr(s) {
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
60 s.variables.foo = 'xxx';
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
61 return '';
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
62 }
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
63
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
64 export default {varr};
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
65 EOF
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
66
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
67 $t->try_run('no stream js_var')->plan(2);
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
68
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
69 ###############################################################################
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
70
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
71 is(stream('127.0.0.1:' . port(8081))->io('###'), 'a:127.0.0.1',
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
72 'default value');
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
73 is(stream('127.0.0.1:' . port(8082))->io('###'), 'xxx', 'value set');
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
74
390cbd46c46b Tests: added js tests for directives in additional contexts.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
75 ###############################################################################