Mercurial > hg > nginx-tests
view userid_flags.t @ 1826:1f125771f1a1
Tests: adapted session reuse tests to work with TLSv1.3.
In TLSv1.3, session tickets are sent after the handshake, and saving session
right after the handshake is not going to work. To properly test session
resumption, sessions are now saved after some data exchange.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 21 Mar 2023 02:58:02 +0300 |
parents | 5ac6efbe5552 |
children |
line wrap: on
line source
#!/usr/bin/perl # (C) Sergey Kandaurov # (C) Nginx, Inc. # Tests for the userid_flags directive. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http userid/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; userid on; userid_name test; userid_path /0123456789; userid_domain test.domain; location / { userid_flags samesite=strict; location /many { userid_flags httponly samesite=none secure; } location /off { userid_flags off; } } location /lax { userid_flags samesite=lax; } location /unset { } } } EOF $t->write_file('index.html', ''); $t->write_file('lax', ''); $t->write_file('many', ''); $t->run()->plan(5); ############################################################################### like(http_get('/'), qr/samesite=strict/i, 'strict'); like(http_get('/lax'), qr/samesite=lax/i, 'lax'); like(http_get('/many'), qr/secure; httponly; samesite=none/i, 'many'); unlike(http_get('/off'), qr/(secure|httponly|samesite)/i, 'off'); unlike(http_get('/unset'), qr/(secure|httponly|samesite)/i, 'unset'); ###############################################################################