comparison js_subrequests.t @ 1436:9d8b100a6ce3

Tests: get rid of deprecated njs API in 0.2.2.
author Dmitry Volyntsev <xeioex@nginx.com>
date Mon, 28 Jan 2019 16:17:11 +0300
parents f168fc46c7a4
children 95951c72e721
comparison
equal deleted inserted replaced
1435:cace66c3ce56 1436:9d8b100a6ce3
246 $t->write_file('test.js', <<EOF); 246 $t->write_file('test.js', <<EOF);
247 function test_njs(r) { 247 function test_njs(r) {
248 r.return(200, njs.version); 248 r.return(200, njs.version);
249 } 249 }
250 250
251 function sr(req) { 251 function sr(r) {
252 subrequest_fn(req, ['/p/sub2'], ['uri', 'status']) 252 subrequest_fn(r, ['/p/sub2'], ['uri', 'status'])
253 } 253 }
254 254
255 function sr_args(req, res) { 255 function sr_args(r) {
256 req.subrequest('/p/sub1', 'h=xxx', function(reply) { 256 r.subrequest('/p/sub1', 'h=xxx', function(reply) {
257 res.status = 200; 257 r.status = 200;
258 res.sendHeader(); 258 r.sendHeader();
259 res.send(JSON.stringify({h:reply.headers.h})) 259 r.send(JSON.stringify({h:reply.headersOut.h}))
260 res.finish(); 260 r.finish();
261 }); 261 });
262 } 262 }
263 263
264 function sr_options_args(req, res) { 264 function sr_options_args(r) {
265 req.subrequest('/p/sub1', {args:'h=xxx'}, function(reply) { 265 r.subrequest('/p/sub1', {args:'h=xxx'}, function(reply) {
266 res.status = 200; 266 r.status = 200;
267 res.sendHeader(); 267 r.sendHeader();
268 res.send(JSON.stringify({h:reply.headers.h})) 268 r.send(JSON.stringify({h:reply.headersOut.h}))
269 res.finish(); 269 r.finish();
270 }); 270 });
271 } 271 }
272 272
273 function sr_options_method(req, res) { 273 function sr_options_method(r) {
274 req.subrequest('/p/method', {method:'POST'}, body_fwd_cb); 274 r.subrequest('/p/method', {method:'POST'}, body_fwd_cb);
275 } 275 }
276 276
277 function sr_options_body(req, res) { 277 function sr_options_body(r) {
278 req.subrequest('/p/body', {method:'POST', body:'["REQ-BODY"]'}, 278 r.subrequest('/p/body', {method:'POST', body:'["REQ-BODY"]'},
279 body_fwd_cb); 279 body_fwd_cb);
280 } 280 }
281 281
282 function sr_options_method_head(req, res) { 282 function sr_options_method_head(r) {
283 req.subrequest('/p/method', {method:'HEAD'}, function(reply) { 283 r.subrequest('/p/method', {method:'HEAD'}, function(reply) {
284 res.status = 200; 284 r.status = 200;
285 res.sendHeader(); 285 r.sendHeader();
286 res.send(JSON.stringify({c:reply.status, s:reply.body.length})) 286 r.send(JSON.stringify({c:reply.status,
287 res.finish(); 287 s:reply.responseBody.length}))
288 r.finish();
288 }); 289 });
289 } 290 }
290 291
291 function sr_body(req, res) { 292 function sr_body(r) {
292 req.subrequest('/p/sub1', body_fwd_cb); 293 r.subrequest('/p/sub1', body_fwd_cb);
293 } 294 }
294 295
295 function sr_body_special(req, res) { 296 function sr_body_special(r) {
296 req.subrequest('/p/sub2', body_fwd_cb); 297 r.subrequest('/p/sub2', body_fwd_cb);
297 } 298 }
298 299
299 function sr_background(req, res) { 300 function sr_background(r) {
300 req.subrequest('/p/background'); 301 r.subrequest('/p/background');
301 req.subrequest('/p/background', 'a=xxx'); 302 r.subrequest('/p/background', 'a=xxx');
302 req.subrequest('/p/background', {args: 'a=yyy', method:'POST'}); 303 r.subrequest('/p/background', {args: 'a=yyy', method:'POST'});
303 304
304 res.status = 200; 305 r.status = 200;
305 res.sendHeader(); 306 r.sendHeader();
306 res.finish(); 307 r.finish();
307 } 308 }
308 309
309 function body(req, res) { 310 function body(r) {
310 res.status = 200; 311 r.status = 200;
311 res.sendHeader(); 312 r.sendHeader();
312 res.send(req.variables.request_body); 313 r.send(r.variables.request_body);
313 res.finish(); 314 r.finish();
314 } 315 }
315 316
316 function delayed(req) { 317 function delayed(r) {
317 setTimeout(function(res) { 318 setTimeout(function(r) {
318 res.status = 200; 319 r.status = 200;
319 res.sendHeader(); 320 r.sendHeader();
320 res.finish(); 321 r.finish();
321 }, 100, req.response); 322 }, 100, r);
322 } 323 }
323 324
324 function background(req, res) { 325 function background(r) {
325 req.log("BACKGROUND: " + req.variables.request_method 326 r.log("BACKGROUND: " + r.variables.request_method
326 + " args: " + req.variables.args); 327 + " args: " + r.variables.args);
327 328
328 res.status = 200; 329 r.status = 200;
329 res.sendHeader(); 330 r.sendHeader();
330 res.finish(); 331 r.finish();
331 } 332 }
332 333
333 function sr_in_variable_handler(req, res) { 334 function sr_in_variable_handler(r) {
334 } 335 }
335 336
336 function async_var(req, res) { 337 function async_var(r) {
337 req.subrequest('/p/delayed', function(reply) { 338 r.subrequest('/p/delayed', function(reply) {
338 res.status = 200; 339 r.status = 200;
339 res.sendHeader(); 340 r.sendHeader();
340 res.send(JSON.stringify(["CB-VAR"])) 341 r.send(JSON.stringify(["CB-VAR"]))
341 res.finish(); 342 r.finish();
342 }) 343 })
343 344
344 return ""; 345 return "";
345 } 346 }
346 347
347 function sr_file(req, res) { 348 function sr_file(r) {
348 req.subrequest('/file/t', body_fwd_cb); 349 r.subrequest('/file/t', body_fwd_cb);
349 } 350 }
350 351
351 function sr_cache(req, res) { 352 function sr_cache(r) {
352 req.subrequest('/p/t', body_fwd_cb); 353 r.subrequest('/p/t', body_fwd_cb);
353 } 354 }
354 355
355 function sr_unavail(req) { 356 function sr_unavail(req) {
356 subrequest_fn(req, ['/unavail'], ['uri', 'status']); 357 subrequest_fn(req, ['/unavail'], ['uri', 'status']);
357 } 358 }
358 359
359 function sr_broken(req, res) { 360 function sr_broken(r) {
360 req.subrequest('/daemon/unfinished', 361 r.subrequest('/daemon/unfinished',
361 function(reply) { 362 function(reply) {
362 res.status = 200; 363 r.status = 200;
363 res.sendHeader(); 364 r.sendHeader();
364 res.send(JSON.stringify({code:reply.status})) 365 r.send(JSON.stringify({code:reply.status}))
365 res.finish(); 366 r.finish();
366 }); 367 });
367 } 368 }
368 369
369 function sr_too_large(req, res) { 370 function sr_too_large(r) {
370 req.subrequest('/too_large/t', body_fwd_cb); 371 r.subrequest('/too_large/t', body_fwd_cb);
371 } 372 }
372 373
373 function sr_in_sr(req, res) { 374 function sr_in_sr(r) {
374 req.subrequest('/sr', body_fwd_cb); 375 r.subrequest('/sr', body_fwd_cb);
375 } 376 }
376 377
377 function sr_js_in_subrequest(req, res) { 378 function sr_js_in_subrequest(r) {
378 req.subrequest('/js_sub', body_fwd_cb); 379 r.subrequest('/js_sub', body_fwd_cb);
379 } 380 }
380 381
381 function sr_js_in_sr_parent(r) { 382 function sr_js_in_sr_parent(r) {
382 r.subrequest('/sr_parent', body_fwd_cb); 383 r.subrequest('/sr_parent', body_fwd_cb);
383 } 384 }
406 } 407 }
407 408
408 r.return(200); 409 r.return(200);
409 } 410 }
410 411
411 function sr_out_of_order(req) { 412 function sr_out_of_order(r) {
412 subrequest_fn(req, ['/p/delayed', '/p/sub1', '/unknown'], 413 subrequest_fn(r, ['/p/delayed', '/p/sub1', '/unknown'],
413 ['uri', 'status']); 414 ['uri', 'status']);
414 } 415 }
415 416
416 function subrequest_fn(req, subs, props) { 417 function subrequest_fn(r, subs, props) {
417 var r, replies = []; 418 var rep, replies = [];
418 419
419 subs.forEach(function(sr) { 420 subs.forEach(function(sr) {
420 req.subrequest(sr, function(reply) { 421 r.subrequest(sr, function(reply) {
421 req.log("subrequest handler: " + reply.uri 422 r.log("subrequest handler: " + reply.uri
422 + " status: " + reply.status) 423 + " status: " + reply.status)
423 424
424 r = {}; 425 rep = {};
425 props.forEach(function (p) {r[p] = reply[p]}); 426 props.forEach(function (p) {rep[p] = reply[p]});
426 427
427 replies.push(r); 428 replies.push(rep);
428 429
429 if (replies.length == subs.length) { 430 if (replies.length == subs.length) {
430 var res = req.response; 431 r.status = 200;
431 res.status = 200; 432 r.sendHeader();
432 res.sendHeader(); 433 r.send(JSON.stringify(replies));
433 res.send(JSON.stringify(replies)); 434 r.finish();
434 res.finish();
435 } 435 }
436 }); 436 });
437 }); 437 });
438 } 438 }
439 439
440 function sr_except_not_a_func(req, res) { 440 function sr_except_not_a_func(r) {
441 req.subrequest('/sub1', 'a=1', 'b'); 441 r.subrequest('/sub1', 'a=1', 'b');
442 } 442 }
443 443
444 function sr_except_failed_to_convert_arg(req, res) { 444 function sr_except_failed_to_convert_arg(r) {
445 req.subrequest('/sub1', req.args, function(){}); 445 r.subrequest('/sub1', r.args, function(){});
446 } 446 }
447 447
448 function sr_except_failed_to_convert_options_arg(req, res) { 448 function sr_except_failed_to_convert_options_arg(r) {
449 req.subrequest('/sub1', {args:req.args}, function(){}); 449 r.subrequest('/sub1', {args:r.args}, function(){});
450 } 450 }
451 451
452 function sr_except_invalid_options_method(req, res) { 452 function sr_except_invalid_options_method(r) {
453 req.subrequest('/sub1', {method:'UNKNOWN_METHOD'}, function(){}); 453 r.subrequest('/sub1', {method:'UNKNOWN_METHOD'}, function(){});
454 } 454 }
455 455
456 function sr_uri_except(req, res) { 456 function sr_uri_except(r) {
457 req.subrequest(req, 'a=1', 'b'); 457 r.subrequest(r, 'a=1', 'b');
458 } 458 }
459 459
460 function body_fwd_cb(reply) { 460 function body_fwd_cb(reply) {
461 var res = reply.parent.response; 461 var p = reply.parent;
462 res.status = 200; 462 p.status = 200;
463 res.sendHeader(); 463 p.sendHeader();
464 res.send(JSON.stringify(JSON.parse(reply.body))); 464 p.send(JSON.stringify(JSON.parse(reply.responseBody)));
465 res.finish(); 465 p.finish();
466 } 466 }
467 467
468 function js_sub(req, res) { 468 function js_sub(r) {
469 res.status = 200; 469 r.status = 200;
470 res.sendHeader(); 470 r.sendHeader();
471 res.send('["JS-SUB"]'); 471 r.send('["JS-SUB"]');
472 res.finish(); 472 r.finish();
473 } 473 }
474 474
475 EOF 475 EOF
476 476
477 $t->write_file('t', '["SEE-THIS"]'); 477 $t->write_file('t', '["SEE-THIS"]');