# HG changeset patch # User Sergey Kandaurov # Date 1541592443 -10800 # Node ID 3c101e51621323adb082792040055637410ee816 # Parent 23cf08e9d2a265a3cd7288f1a270ac5c13d5a3b6 Tests: added upstream max_conns tests with hash balancer. diff --git a/stream_upstream_max_conns.t b/stream_upstream_max_conns.t --- a/stream_upstream_max_conns.t +++ b/stream_upstream_max_conns.t @@ -25,7 +25,7 @@ select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/stream stream_upstream_least_conn/) - ->plan(12); + ->has(qw/stream_upstream_hash/)->plan(14); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -89,6 +89,17 @@ stream { server 127.0.0.1:8082 backup max_conns=3; } + upstream u_hash { + hash $remote_addr; + server 127.0.0.1:8081 max_conns=1; + server 127.0.0.1:8082 max_conns=2; + } + upstream u_chash { + hash $remote_addr consistent; + server 127.0.0.1:8081 max_conns=1; + server 127.0.0.1:8082 max_conns=2; + } + server { listen 127.0.0.1:8086; proxy_pass u_unlim; @@ -143,6 +154,16 @@ stream { listen 127.0.0.1:8096; proxy_pass u_lc_backup_lim; } + + server { + listen 127.0.0.1:8097; + proxy_pass u_hash; + } + + server { + listen 127.0.0.1:8098; + proxy_pass u_chash; + } } EOF @@ -207,6 +228,11 @@ is(peers(8095, '/u_lc_backup', 6), "$p1 is(peers(8096, '/u_lc_backup_lim', 6), "$p1 $p1 $p2 $p2 $p2 ", 'least_conn backup limited'); +# hash balancer tests + +is(parallel(8097, '/u_hash', 4), "$p1: 1, $p2: 2", 'hash'); +is(parallel(8098, '/u_chash', 4), "$p1: 1, $p2: 2", 'hash consistent'); + ############################################################################### sub peers { diff --git a/upstream_max_conns.t b/upstream_max_conns.t --- a/upstream_max_conns.t +++ b/upstream_max_conns.t @@ -24,7 +24,7 @@ select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http proxy rewrite upstream_least_conn/) - ->has(qw/upstream_ip_hash/)->plan(14); + ->has(qw/upstream_ip_hash upstream_hash/)->plan(16); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -104,6 +104,17 @@ http { server 127.0.0.1:8082 max_conns=2; } + upstream u_hash { + hash $remote_addr; + server 127.0.0.1:8081 max_conns=1; + server 127.0.0.1:8082 max_conns=2; + } + upstream u_chash { + hash $remote_addr consistent; + server 127.0.0.1:8081 max_conns=1; + server 127.0.0.1:8082 max_conns=2; + } + server { listen 127.0.0.1:8084; server_name localhost; @@ -200,6 +211,11 @@ is(peers('/u_lc_backup_lim', 6), "$p1 $p is(parallel('/u_ih', 4), "$p1: 1, $p2: 2", 'ip_hash'); +# hash balancer tests + +is(parallel('/u_hash', 4), "$p1: 1, $p2: 2", 'hash'); +is(parallel('/u_chash', 4), "$p1: 1, $p2: 2", 'hash consistent'); + ############################################################################### sub peers {