view stream_udp_wildcard.t @ 1620:166461f0bd4b

Tests: added $ssl_server_name checks to stream_ssl_certificate.t. Previously, the checks were exempted from stream tests, since the stream module did not implement a server name callback, so OpenSSL 1.1.1 didn't save it to the session. Since 7e8bcba6d039 (1.15.10), it's implemented. This change is thereby a diff reduction to ssl_certificate.t.
author Sergey Kandaurov <pluknet@nginx.com>
date Mon, 23 Nov 2020 22:46:07 +0000
parents f3ba4c74de31
children
line wrap: on
line source

#!/usr/bin/perl

# (C) Sergey Kandaurov
# (C) Nginx, Inc.

# Tests for stream proxy module with datagrams, source address selection.

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

use warnings;
use strict;

use Test::More;

BEGIN { use FindBin; chdir($FindBin::Bin); }

use lib 'lib';
use Test::Nginx;
use Test::Nginx::Stream qw/ dgram /;

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

select STDERR; $| = 1;
select STDOUT; $| = 1;

plan(skip_all => '127.0.0.2 local address required')
	unless defined IO::Socket::INET->new( LocalAddr => '127.0.0.2' );

plan(skip_all => 'listen on wildcard address')
	unless $ENV{TEST_NGINX_UNSAFE};

my $t = Test::Nginx->new()->has(qw/stream stream_return udp/)->plan(1)
	->write_file_expand('nginx.conf', <<'EOF');

%%TEST_GLOBALS%%

daemon off;

events {
}

stream {
    %%TEST_GLOBALS_STREAM%%

    server {
        listen  %%PORT_8999_UDP%% udp;
        return  $server_addr;
    }
}

EOF

$t->run();

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

my $s = dgram(
	LocalAddr => '127.0.0.1',
	PeerAddr  => '127.0.0.2:' . port(8999)
);

is($s->io('test'), '127.0.0.2', 'stream udp wildcard');

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