Mercurial > hg > nginx-tests
diff grpc_next_upstream.t @ 1311:4979af9fd905
Tests: grpc request buffering and next upstream tests.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 29 Mar 2018 18:35:02 +0300 |
parents | proxy_next_upstream.t@882267679006 |
children | 97c8280de681 |
line wrap: on
line diff
copy from proxy_next_upstream.t copy to grpc_next_upstream.t --- a/proxy_next_upstream.t +++ b/grpc_next_upstream.t @@ -1,8 +1,10 @@ #!/usr/bin/perl # (C) Maxim Dounin +# (C) Sergey Kandaurov +# (C) Nginx, Inc. -# Tests for http proxy module, proxy_next_upstream directive. +# Tests for grpc module, grpc_next_upstream directive. ############################################################################### @@ -21,7 +23,7 @@ use Test::Nginx; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(7); +my $t = Test::Nginx->new()->has(qw/http http_v2 grpc rewrite/); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -36,7 +38,7 @@ http { %%TEST_GLOBALS_HTTP%% upstream u { - server 127.0.0.1:8081; + server 127.0.0.1:8081 max_fails=2; server 127.0.0.1:8082; } @@ -50,15 +52,15 @@ http { server_name localhost; location / { - proxy_pass http://u; - proxy_next_upstream http_500 http_404; + grpc_pass u; + grpc_next_upstream http_500 http_404 invalid_header; } location /all/ { - proxy_pass http://u2; - proxy_next_upstream http_500 http_404; + grpc_pass u2; + grpc_next_upstream http_500 http_404; error_page 404 /all/404; - proxy_intercept_errors on; + grpc_intercept_errors on; } location /all/404 { @@ -67,7 +69,7 @@ http { } server { - listen 127.0.0.1:8081; + listen 127.0.0.1:8081 http2; server_name localhost; location / { @@ -79,6 +81,9 @@ http { location /500 { return 500; } + location /444 { + return 444; + } location /all/ { return 404; @@ -86,7 +91,7 @@ http { } server { - listen 127.0.0.1:8082; + listen 127.0.0.1:8082 http2; server_name localhost; location / { @@ -101,7 +106,7 @@ http { EOF -$t->run(); +$t->try_run('no grpc')->plan(9); ############################################################################### @@ -110,14 +115,19 @@ my ($p1, $p2) = (port(8081), port(8082)) # check if both request fallback to a backend # which returns valid response -like(http_get('/'), qr/SEE-THIS/, 'proxy request'); +like(http_get('/'), qr/SEE-THIS/, 'grpc request'); like(http_get('/'), qr/SEE-THIS/, 'second request'); # make sure backend isn't switched off after -# proxy_next_upstream http_404 +# grpc_next_upstream http_404 like(http_get('/ok') . http_get('/ok'), qr/AND-THIS/, 'not down'); +# next upstream on invalid_header + +like(http_get('/444'), qr/SEE-THIS/, 'request 444'); +like(http_get('/444'), qr/SEE-THIS/, 'request 444 second'); + # next upstream on http_500 like(http_get('/500'), qr/SEE-THIS/, 'request 500');