Mercurial > hg > nginx-tests
comparison h2_ssl.t @ 948:4dc302d8e04f
Tests: changed HTTP2 package to act as a class.
Stopped exporting any subroutines. A subset of them now act as class methods.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 17 Jun 2016 11:36:33 +0300 |
parents | 724fcee9a355 |
children | e9064d691790 |
comparison
equal
deleted
inserted
replaced
947:b9e42c554ba7 | 948:4dc302d8e04f |
---|---|
89 $t->run(); | 89 $t->run(); |
90 open STDERR, ">&", \*OLDERR; | 90 open STDERR, ">&", \*OLDERR; |
91 | 91 |
92 ############################################################################### | 92 ############################################################################### |
93 | 93 |
94 my ($sess, $sid, $frames, $frame); | 94 my ($s, $sid, $frames, $frame); |
95 | 95 |
96 # SSL/TLS connection, NPN | 96 # SSL/TLS connection, NPN |
97 | 97 |
98 SKIP: { | 98 SKIP: { |
99 eval { IO::Socket::SSL->can_npn() or die; }; | 99 eval { IO::Socket::SSL->can_npn() or die; }; |
100 skip 'OpenSSL NPN support required', 1 if $@; | 100 skip 'OpenSSL NPN support required', 1 if $@; |
101 | 101 |
102 $sess = new_session(8081, SSL => 1, npn => 'h2'); | 102 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, npn => 'h2'); |
103 $sid = new_stream($sess, { path => '/h2' }); | 103 $sid = $s->new_stream({ path => '/h2' }); |
104 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 104 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
105 | 105 |
106 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 106 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
107 is($frame->{data}, 'h2', 'http variable - npn'); | 107 is($frame->{data}, 'h2', 'http variable - npn'); |
108 | 108 |
109 } | 109 } |
112 | 112 |
113 SKIP: { | 113 SKIP: { |
114 eval { IO::Socket::SSL->can_alpn() or die; }; | 114 eval { IO::Socket::SSL->can_alpn() or die; }; |
115 skip 'OpenSSL ALPN support required', 1 if $@; | 115 skip 'OpenSSL ALPN support required', 1 if $@; |
116 | 116 |
117 $sess = new_session(8081, SSL => 1, alpn => 'h2'); | 117 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, alpn => 'h2'); |
118 $sid = new_stream($sess, { path => '/h2' }); | 118 $sid = $s->new_stream({ path => '/h2' }); |
119 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 119 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
120 | 120 |
121 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 121 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
122 is($frame->{data}, 'h2', 'http variable - alpn'); | 122 is($frame->{data}, 'h2', 'http variable - alpn'); |
123 | 123 |
124 } | 124 } |
127 | 127 |
128 SKIP: { | 128 SKIP: { |
129 eval { IO::Socket::SSL->can_npn() or die; }; | 129 eval { IO::Socket::SSL->can_npn() or die; }; |
130 skip 'OpenSSL NPN support required', 1 if $@; | 130 skip 'OpenSSL NPN support required', 1 if $@; |
131 | 131 |
132 $sess = new_session(8081, SSL => 1, npn => 'h2'); | 132 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, npn => 'h2'); |
133 $sid = new_stream($sess, { path => '/sp' }); | 133 $sid = $s->new_stream({ path => '/sp' }); |
134 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 134 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
135 | 135 |
136 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 136 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
137 is($frame->{data}, 'HTTP/2.0', 'server_protocol variable - npn'); | 137 is($frame->{data}, 'HTTP/2.0', 'server_protocol variable - npn'); |
138 | 138 |
139 } | 139 } |
142 | 142 |
143 SKIP: { | 143 SKIP: { |
144 eval { IO::Socket::SSL->can_alpn() or die; }; | 144 eval { IO::Socket::SSL->can_alpn() or die; }; |
145 skip 'OpenSSL ALPN support required', 1 if $@; | 145 skip 'OpenSSL ALPN support required', 1 if $@; |
146 | 146 |
147 $sess = new_session(8081, SSL => 1, alpn => 'h2'); | 147 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, alpn => 'h2'); |
148 $sid = new_stream($sess, { path => '/sp' }); | 148 $sid = $s->new_stream({ path => '/sp' }); |
149 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 149 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
150 | 150 |
151 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 151 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
152 is($frame->{data}, 'HTTP/2.0', 'server_protocol variable - alpn'); | 152 is($frame->{data}, 'HTTP/2.0', 'server_protocol variable - alpn'); |
153 | 153 |
154 } | 154 } |
157 | 157 |
158 SKIP: { | 158 SKIP: { |
159 eval { IO::Socket::SSL->can_npn() or die; }; | 159 eval { IO::Socket::SSL->can_npn() or die; }; |
160 skip 'OpenSSL NPN support required', 1 if $@; | 160 skip 'OpenSSL NPN support required', 1 if $@; |
161 | 161 |
162 $sess = new_session(8081, SSL => 1, npn => 'h2'); | 162 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, npn => 'h2'); |
163 $sid = new_stream($sess, { path => '/scheme' }); | 163 $sid = $s->new_stream({ path => '/scheme' }); |
164 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 164 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
165 | 165 |
166 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 166 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
167 is($frame->{data}, 'https', 'scheme variable - npn'); | 167 is($frame->{data}, 'https', 'scheme variable - npn'); |
168 | 168 |
169 } | 169 } |
172 | 172 |
173 SKIP: { | 173 SKIP: { |
174 eval { IO::Socket::SSL->can_alpn() or die; }; | 174 eval { IO::Socket::SSL->can_alpn() or die; }; |
175 skip 'OpenSSL ALPN support required', 1 if $@; | 175 skip 'OpenSSL ALPN support required', 1 if $@; |
176 | 176 |
177 $sess = new_session(8081, SSL => 1, alpn => 'h2'); | 177 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, alpn => 'h2'); |
178 $sid = new_stream($sess, { path => '/scheme' }); | 178 $sid = $s->new_stream({ path => '/scheme' }); |
179 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 179 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
180 | 180 |
181 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 181 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
182 is($frame->{data}, 'https', 'scheme variable - alpn'); | 182 is($frame->{data}, 'https', 'scheme variable - alpn'); |
183 | 183 |
184 } | 184 } |
187 | 187 |
188 SKIP: { | 188 SKIP: { |
189 eval { IO::Socket::SSL->can_npn() or die; }; | 189 eval { IO::Socket::SSL->can_npn() or die; }; |
190 skip 'OpenSSL NPN support required', 1 if $@; | 190 skip 'OpenSSL NPN support required', 1 if $@; |
191 | 191 |
192 $sess = new_session(8081, SSL => 1, npn => 'h2'); | 192 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, npn => 'h2'); |
193 $sid = new_stream($sess, { path => '/https' }); | 193 $sid = $s->new_stream({ path => '/https' }); |
194 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 194 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
195 | 195 |
196 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 196 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
197 is($frame->{data}, 'on', 'https variable - npn'); | 197 is($frame->{data}, 'on', 'https variable - npn'); |
198 | 198 |
199 } | 199 } |
202 | 202 |
203 SKIP: { | 203 SKIP: { |
204 eval { IO::Socket::SSL->can_alpn() or die; }; | 204 eval { IO::Socket::SSL->can_alpn() or die; }; |
205 skip 'OpenSSL ALPN support required', 1 if $@; | 205 skip 'OpenSSL ALPN support required', 1 if $@; |
206 | 206 |
207 $sess = new_session(8081, SSL => 1, alpn => 'h2'); | 207 $s = Test::Nginx::HTTP2->new(8081, SSL => 1, alpn => 'h2'); |
208 $sid = new_stream($sess, { path => '/https' }); | 208 $sid = $s->new_stream({ path => '/https' }); |
209 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 209 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
210 | 210 |
211 ($frame) = grep { $_->{type} eq "DATA" } @$frames; | 211 ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
212 is($frame->{data}, 'on', 'https variable - alpn'); | 212 is($frame->{data}, 'on', 'https variable - alpn'); |
213 | 213 |
214 } | 214 } |