view access.t @ 1216:de7d3e249b35

Tests: switch from DSS to ECDSA in ssl_certificates.t. All known supported platforms are shipped with OpenSSL version that supports ECDSA certificates so it's safe for a switch. Besides that, as an additional demand to switch, LibreSSL removed DSS/DSA support in 2.6.0 and nginx breaks here with such cert which is covered under try_run() which is still there. While here, now that DSS is no more, remove henceforth unneeded try_run().
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 07 Sep 2017 15:09:03 +0300
parents fcd65708672d
children
line wrap: on
line source

#!/usr/bin/perl

# (C) Sergey Kandaurov

# Tests for nginx access module.

# At the moment only the new "unix:" syntax is tested (cf "all").

###############################################################################

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 proxy access unix/);

$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;

        location /inet/ {
            proxy_pass http://127.0.0.1:8081/;
        }

        location /inet6/ {
            proxy_pass http://[::1]:%%PORT_8081%%/;
        }

        location /unix/ {
            proxy_pass http://unix:%%TESTDIR%%/unix.sock:/;
        }

    }

    server {
        listen       127.0.0.1:8081;
        listen       [::1]:%%PORT_8081%%;
        listen       unix:%%TESTDIR%%/unix.sock;

        location /allow_all {
            allow all;
        }

        location /allow_unix {
            allow unix:;
        }

        location /deny_all {
            deny all;
        }

        location /deny_unix {
            deny unix:;
        }
    }
}

EOF

$t->try_run('no inet6 support')->plan(12);

###############################################################################

# tests with inet socket

like(http_get('/inet/allow_all'), qr/404 Not Found/, 'inet allow all');
like(http_get('/inet/allow_unix'), qr/404 Not Found/, 'inet allow unix');
like(http_get('/inet/deny_all'), qr/403 Forbidden/, 'inet deny all');
like(http_get('/inet/deny_unix'), qr/404 Not Found/, 'inet deny unix');

# tests with inet6 socket

like(http_get('/inet6/allow_all'), qr/404 Not Found/, 'inet6 allow all');
like(http_get('/inet6/allow_unix'), qr/404 Not Found/, 'inet6 allow unix');
like(http_get('/inet6/deny_all'), qr/403 Forbidden/, 'inet6 deny all');
like(http_get('/inet6/deny_unix'), qr/404 Not Found/, 'inet6 deny unix');

# tests with unix socket

like(http_get('/unix/allow_all'), qr/404 Not Found/, 'unix allow all');
like(http_get('/unix/allow_unix'), qr/404 Not Found/, 'unix allow unix');
like(http_get('/unix/deny_all'), qr/403 Forbidden/, 'unix deny all');
like(http_get('/unix/deny_unix'), qr/403 Forbidden/, 'unix deny unix');

###############################################################################