diff options
Diffstat (limited to 'plugins')
| -rwxr-xr-x | plugins/tests/check_http.t | 81 |
1 files changed, 39 insertions, 42 deletions
diff --git a/plugins/tests/check_http.t b/plugins/tests/check_http.t index d221463b..d7f4148c 100755 --- a/plugins/tests/check_http.t +++ b/plugins/tests/check_http.t | |||
| @@ -140,10 +140,12 @@ END { | |||
| 140 | }; | 140 | }; |
| 141 | 141 | ||
| 142 | if ($ARGV[0] && $ARGV[0] eq "-d") { | 142 | if ($ARGV[0] && $ARGV[0] eq "-d") { |
| 143 | sleep 1000; | 143 | while (1) { |
| 144 | `sleep 100` | ||
| 145 | } | ||
| 144 | } | 146 | } |
| 145 | 147 | ||
| 146 | my $common_tests = 47; | 148 | my $common_tests = 51; |
| 147 | my $ssl_only_tests = 6; | 149 | my $ssl_only_tests = 6; |
| 148 | if (-x "./check_http") { | 150 | if (-x "./check_http") { |
| 149 | plan tests => $common_tests * 2 + $ssl_only_tests; | 151 | plan tests => $common_tests * 2 + $ssl_only_tests; |
| @@ -180,95 +182,91 @@ SKIP: { | |||
| 180 | sub run_common_tests { | 182 | sub run_common_tests { |
| 181 | my ($opts) = @_; | 183 | my ($opts) = @_; |
| 182 | my $command = $opts->{command}; | 184 | my $command = $opts->{command}; |
| 183 | my $b; | ||
| 184 | my $add = 0; | ||
| 185 | if ($opts->{ssl}) { | 185 | if ($opts->{ssl}) { |
| 186 | $command .= " --ssl"; | 186 | $command .= " --ssl"; |
| 187 | } | 187 | } |
| 188 | 188 | ||
| 189 | $result = NPTest->testCmd( "$command -u /file/root" ); | 189 | $result = NPTest->testCmd( "$command -u /file/root" ); |
| 190 | is( $result->return_code, 0, "/file/root"); | 190 | is( $result->return_code, 0, "/file/root"); |
| 191 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - 274 bytes in [\d\.]+ seconds/', "Output correct" ); | 191 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - 274 bytes in [\d\.]+ second/', "Output correct" ); |
| 192 | 192 | ||
| 193 | $result = NPTest->testCmd( "$command -u /file/root -s Root" ); | 193 | $result = NPTest->testCmd( "$command -u /file/root -s Root" ); |
| 194 | is( $result->return_code, 0, "/file/root search for string"); | 194 | is( $result->return_code, 0, "/file/root search for string"); |
| 195 | TODO: { | 195 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - 274 bytes in [\d\.]+ second/', "Output correct" ); |
| 196 | local $TODO = "Output is different if a string is requested - should this be right?"; | ||
| 197 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - 274 bytes in [\d\.]+ seconds/', "Output correct" ); | ||
| 198 | } | ||
| 199 | 196 | ||
| 200 | 197 | ||
| 201 | $b = 177 + $add; | 198 | my $cmd; |
| 202 | $result = NPTest->testCmd( "$command -u /slow" ); | 199 | $cmd = "$command -u /slow"; |
| 203 | is( $result->return_code, 0, "/file/root"); | 200 | $result = NPTest->testCmd( $cmd ); |
| 204 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct" ); | 201 | is( $result->return_code, 0, "$cmd"); |
| 205 | $result->output =~ /in ([\d\.]+) seconds/; | 202 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 203 | $result->output =~ /in ([\d\.]+) second/; | ||
| 206 | cmp_ok( $1, ">", 1, "Time is > 1 second" ); | 204 | cmp_ok( $1, ">", 1, "Time is > 1 second" ); |
| 207 | 205 | ||
| 208 | my $cmd; | 206 | $cmd = "$command -u /statuscode/200"; |
| 209 | $b = 89 + $add; | 207 | $result = NPTest->testCmd( $cmd ); |
| 208 | is( $result->return_code, 0, $cmd); | ||
| 209 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); | ||
| 210 | |||
| 210 | $cmd = "$command -u /statuscode/200 -e 200"; | 211 | $cmd = "$command -u /statuscode/200 -e 200"; |
| 211 | $result = NPTest->testCmd( $cmd ); | 212 | $result = NPTest->testCmd( $cmd ); |
| 212 | is( $result->return_code, 0, $cmd); | 213 | is( $result->return_code, 0, $cmd); |
| 213 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 214 | like( $result->output, '/^HTTP OK: Status line output matched "200" - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 215 | |||
| 216 | $cmd = "$command -u /statuscode/201"; | ||
| 217 | $result = NPTest->testCmd( $cmd ); | ||
| 218 | is( $result->return_code, 0, $cmd); | ||
| 219 | like( $result->output, '/^HTTP OK: HTTP/1.1 201 Created - \d+ bytes in [\d\.]+ second /', "Output correct: ".$result->output ); | ||
| 214 | 220 | ||
| 215 | $b = 94 + $add; | ||
| 216 | $cmd = "$command -u /statuscode/201 -e 201"; | 221 | $cmd = "$command -u /statuscode/201 -e 201"; |
| 217 | $result = NPTest->testCmd( $cmd ); | 222 | $result = NPTest->testCmd( $cmd ); |
| 218 | is( $result->return_code, 0, $cmd); | 223 | is( $result->return_code, 0, $cmd); |
| 219 | like( $result->output, '/^HTTP OK HTTP/1.1 201 Created - '.$b.' bytes in ([\d\.]+) seconds /', "Output correct: ".$result->output ); | 224 | like( $result->output, '/^HTTP OK: Status line output matched "201" - \d+ bytes in [\d\.]+ second /', "Output correct: ".$result->output ); |
| 220 | 225 | ||
| 221 | $cmd = "$command -u /statuscode/201 -e 200"; | 226 | $cmd = "$command -u /statuscode/201 -e 200"; |
| 222 | $result = NPTest->testCmd( $cmd ); | 227 | $result = NPTest->testCmd( $cmd ); |
| 223 | is( $result->return_code, 2, $cmd); | 228 | is( $result->return_code, 2, $cmd); |
| 224 | like( $result->output, '/^HTTP CRITICAL - Invalid HTTP response received from host on port \d+: HTTP/1.1 201 Created/', "Output correct: ".$result->output ); | 229 | like( $result->output, '/^HTTP CRITICAL - Invalid HTTP response received from host on port \d+: HTTP/1.1 201 Created/', "Output correct: ".$result->output ); |
| 225 | 230 | ||
| 226 | $b = 89 + $add; | ||
| 227 | $cmd = "$command -u /statuscode/200 -e 200,201,202"; | 231 | $cmd = "$command -u /statuscode/200 -e 200,201,202"; |
| 228 | $result = NPTest->testCmd( $cmd ); | 232 | $result = NPTest->testCmd( $cmd ); |
| 229 | is( $result->return_code, 0, $cmd); | 233 | is( $result->return_code, 0, $cmd); |
| 230 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 234 | like( $result->output, '/^HTTP OK: Status line output matched "200,201,202" - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 231 | 235 | ||
| 232 | $b = 94 + $add; | ||
| 233 | $cmd = "$command -u /statuscode/201 -e 200,201,202"; | 236 | $cmd = "$command -u /statuscode/201 -e 200,201,202"; |
| 234 | $result = NPTest->testCmd( $cmd ); | 237 | $result = NPTest->testCmd( $cmd ); |
| 235 | is( $result->return_code, 0, $cmd); | 238 | is( $result->return_code, 0, $cmd); |
| 236 | like( $result->output, '/^HTTP OK HTTP/1.1 201 Created - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 239 | like( $result->output, '/^HTTP OK: Status line output matched "200,201,202" - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 237 | 240 | ||
| 238 | $cmd = "$command -u /statuscode/203 -e 200,201,202"; | 241 | $cmd = "$command -u /statuscode/203 -e 200,201,202"; |
| 239 | $result = NPTest->testCmd( $cmd ); | 242 | $result = NPTest->testCmd( $cmd ); |
| 240 | is( $result->return_code, 2, $cmd); | 243 | is( $result->return_code, 2, $cmd); |
| 241 | like( $result->output, '/^HTTP CRITICAL - Invalid HTTP response received from host on port (\d+): HTTP/1.1 203 Non-Authoritative Information/', "Output correct: ".$result->output ); | 244 | like( $result->output, '/^HTTP CRITICAL - Invalid HTTP response received from host on port (\d+): HTTP/1.1 203 Non-Authoritative Information/', "Output correct: ".$result->output ); |
| 242 | 245 | ||
| 243 | $b = 19 + $add; | ||
| 244 | $cmd = "$command -j HEAD -u /method"; | 246 | $cmd = "$command -j HEAD -u /method"; |
| 245 | $result = NPTest->testCmd( $cmd ); | 247 | $result = NPTest->testCmd( $cmd ); |
| 246 | is( $result->return_code, 0, $cmd); | 248 | is( $result->return_code, 0, $cmd); |
| 247 | like( $result->output, '/^HTTP OK HTTP/1.1 200 HEAD - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 249 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 HEAD - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 248 | 250 | ||
| 249 | $b = 19 + $add; | ||
| 250 | $cmd = "$command -j POST -u /method"; | 251 | $cmd = "$command -j POST -u /method"; |
| 251 | $result = NPTest->testCmd( $cmd ); | 252 | $result = NPTest->testCmd( $cmd ); |
| 252 | is( $result->return_code, 0, $cmd); | 253 | is( $result->return_code, 0, $cmd); |
| 253 | like( $result->output, '/^HTTP OK HTTP/1.1 200 POST - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 254 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 POST - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 254 | 255 | ||
| 255 | $b = 18 + $add; | ||
| 256 | $cmd = "$command -j GET -u /method"; | 256 | $cmd = "$command -j GET -u /method"; |
| 257 | $result = NPTest->testCmd( $cmd ); | 257 | $result = NPTest->testCmd( $cmd ); |
| 258 | is( $result->return_code, 0, $cmd); | 258 | is( $result->return_code, 0, $cmd); |
| 259 | like( $result->output, '/^HTTP OK HTTP/1.1 200 GET - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 259 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 GET - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 260 | 260 | ||
| 261 | $b = 18 + $add; | ||
| 262 | $cmd = "$command -u /method"; | 261 | $cmd = "$command -u /method"; |
| 263 | $result = NPTest->testCmd( $cmd ); | 262 | $result = NPTest->testCmd( $cmd ); |
| 264 | is( $result->return_code, 0, $cmd); | 263 | is( $result->return_code, 0, $cmd); |
| 265 | like( $result->output, '/^HTTP OK HTTP/1.1 200 GET - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 264 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 GET - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 266 | 265 | ||
| 267 | $b = 19 + $add; | ||
| 268 | $cmd = "$command -P foo -u /method"; | 266 | $cmd = "$command -P foo -u /method"; |
| 269 | $result = NPTest->testCmd( $cmd ); | 267 | $result = NPTest->testCmd( $cmd ); |
| 270 | is( $result->return_code, 0, $cmd); | 268 | is( $result->return_code, 0, $cmd); |
| 271 | like( $result->output, '/^HTTP OK HTTP/1.1 200 POST - '.$b.' bytes in ([\d\.]+) seconds/', "Output correct: ".$result->output ); | 269 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 POST - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 272 | 270 | ||
| 273 | $cmd = "$command -j DELETE -u /method"; | 271 | $cmd = "$command -j DELETE -u /method"; |
| 274 | $result = NPTest->testCmd( $cmd ); | 272 | $result = NPTest->testCmd( $cmd ); |
| @@ -283,39 +281,38 @@ sub run_common_tests { | |||
| 283 | $cmd = "$command -P stufftoinclude -u /postdata -s POST:stufftoinclude"; | 281 | $cmd = "$command -P stufftoinclude -u /postdata -s POST:stufftoinclude"; |
| 284 | $result = NPTest->testCmd( $cmd ); | 282 | $result = NPTest->testCmd( $cmd ); |
| 285 | is( $result->return_code, 0, $cmd); | 283 | is( $result->return_code, 0, $cmd); |
| 286 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - ([\d\.]+) second/', "Output correct: ".$result->output ); | 284 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 287 | 285 | ||
| 288 | $cmd = "$command -j PUT -P stufftoinclude -u /postdata -s PUT:stufftoinclude"; | 286 | $cmd = "$command -j PUT -P stufftoinclude -u /postdata -s PUT:stufftoinclude"; |
| 289 | $result = NPTest->testCmd( $cmd ); | 287 | $result = NPTest->testCmd( $cmd ); |
| 290 | is( $result->return_code, 0, $cmd); | 288 | is( $result->return_code, 0, $cmd); |
| 291 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - ([\d\.]+) second/', "Output correct: ".$result->output ); | 289 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 292 | 290 | ||
| 293 | # To confirm that the free doesn't segfault | 291 | # To confirm that the free doesn't segfault |
| 294 | $cmd = "$command -P stufftoinclude -j PUT -u /postdata -s PUT:stufftoinclude"; | 292 | $cmd = "$command -P stufftoinclude -j PUT -u /postdata -s PUT:stufftoinclude"; |
| 295 | $result = NPTest->testCmd( $cmd ); | 293 | $result = NPTest->testCmd( $cmd ); |
| 296 | is( $result->return_code, 0, $cmd); | 294 | is( $result->return_code, 0, $cmd); |
| 297 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - ([\d\.]+) second/', "Output correct: ".$result->output ); | 295 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 298 | 296 | ||
| 299 | $cmd = "$command -u /redirect"; | 297 | $cmd = "$command -u /redirect"; |
| 300 | $result = NPTest->testCmd( $cmd ); | 298 | $result = NPTest->testCmd( $cmd ); |
| 301 | is( $result->return_code, 0, $cmd); | 299 | is( $result->return_code, 0, $cmd); |
| 302 | like( $result->output, '/^HTTP OK - HTTP/1.1 301 Moved Permanently - [\d\.]+ second/', "Output correct: ".$result->output ); | 300 | like( $result->output, '/^HTTP OK: HTTP/1.1 301 Moved Permanently - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 303 | 301 | ||
| 304 | $b = 183 + $add; | ||
| 305 | $cmd = "$command -f follow -u /redirect"; | 302 | $cmd = "$command -f follow -u /redirect"; |
| 306 | $result = NPTest->testCmd( $cmd ); | 303 | $result = NPTest->testCmd( $cmd ); |
| 307 | is( $result->return_code, 0, $cmd); | 304 | is( $result->return_code, 0, $cmd); |
| 308 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - '.$b.' bytes in [\d\.]+ second/', "Output correct: ".$result->output ); | 305 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 306 | |||
| 309 | 307 | ||
| 310 | $cmd = "$command -u /redirect -k 'follow: me'"; | 308 | $cmd = "$command -u /redirect -k 'follow: me'"; |
| 311 | $result = NPTest->testCmd( $cmd ); | 309 | $result = NPTest->testCmd( $cmd ); |
| 312 | is( $result->return_code, 0, $cmd); | 310 | is( $result->return_code, 0, $cmd); |
| 313 | like( $result->output, '/^HTTP OK - HTTP/1.1 301 Moved Permanently - [\d\.]+ second/', "Output correct: ".$result->output ); | 311 | like( $result->output, '/^HTTP OK: HTTP/1.1 301 Moved Permanently - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 314 | 312 | ||
| 315 | $b = 183 + $add; | ||
| 316 | $cmd = "$command -f follow -u /redirect -k 'follow: me'"; | 313 | $cmd = "$command -f follow -u /redirect -k 'follow: me'"; |
| 317 | $result = NPTest->testCmd( $cmd ); | 314 | $result = NPTest->testCmd( $cmd ); |
| 318 | is( $result->return_code, 0, $cmd); | 315 | is( $result->return_code, 0, $cmd); |
| 319 | like( $result->output, '/^HTTP OK HTTP/1.1 200 OK - '.$b.' bytes in [\d\.]+ second/', "Output correct: ".$result->output ); | 316 | like( $result->output, '/^HTTP OK: HTTP/1.1 200 OK - \d+ bytes in [\d\.]+ second/', "Output correct: ".$result->output ); |
| 320 | 317 | ||
| 321 | } | 318 | } |
