# HG changeset patch # User Sergey Kandaurov # Date 1624957058 -10800 # Node ID f3de5730bc060ee87eb9c27028fe762656f9952a # Parent 9fac05e479fa8293df115cdbcb1367b7fe130fd4 Tests: CONNECT and TRACE method tests. diff --git a/h2.t b/h2.t --- a/h2.t +++ b/h2.t @@ -26,7 +26,7 @@ select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http http_v2 proxy rewrite charset gzip/) - ->plan(142); + ->plan(144); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -298,6 +298,29 @@ is($frame->{headers}->{'x-header'}, 'X-F ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'HEAD - no body'); +# CONNECT + +TODO: { +local $TODO = 'not yet' unless $t->has_version('1.21.1'); + +$s = Test::Nginx::HTTP2->new(); +$sid = $s->new_stream({ method => 'CONNECT' }); +$frames = $s->read(all => [{ sid => $sid, fin => 1 }]); + +($frame) = grep { $_->{type} eq "HEADERS" } @$frames; +is($frame->{headers}->{':status'}, 405, 'CONNECT - not allowed'); + +} + +# TRACE + +$s = Test::Nginx::HTTP2->new(); +$sid = $s->new_stream({ method => 'TRACE' }); +$frames = $s->read(all => [{ sid => $sid, fin => 1 }]); + +($frame) = grep { $_->{type} eq "HEADERS" } @$frames; +is($frame->{headers}->{':status'}, 405, 'TRACE - not allowed'); + # range filter $s = Test::Nginx::HTTP2->new(); diff --git a/http_method.t b/http_method.t new file mode 100644 --- /dev/null +++ b/http_method.t @@ -0,0 +1,77 @@ +#!/usr/bin/perl + +# (C) Sergey Kandaurov +# (C) Nginx, Inc. + +# Tests for HTTP methods. + +############################################################################### + +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 rewrite/)->plan(2) + ->write_file_expand('nginx.conf', <<'EOF')->run(); + +%%TEST_GLOBALS%% + +daemon off; + +events { +} + +http { + %%TEST_GLOBALS_HTTP%% + + server { + listen 127.0.0.1:8080; + server_name localhost; + + location / { + return 200; + } + } +} + +EOF + +############################################################################### + +like(http(<has_version('1.21.1'); + +like(http(<