comparison tests/cmd-rule-move/main.cpp @ 571:23fc81b1bd8f

Tests: add error code support in cmd-rule-* tests
author David Demelier <markand@malikania.fr>
date Wed, 29 Nov 2017 09:29:25 +0100
parents c729f06c6f27
children
comparison
equal deleted inserted replaced
570:153e84e7b09b 571:23fc81b1bd8f
360 BOOST_TEST(json_util::contains(events, "onMessage")); 360 BOOST_TEST(json_util::contains(events, "onMessage"));
361 BOOST_TEST(result["list"][2]["action"].get<std::string>() == "drop"); 361 BOOST_TEST(result["list"][2]["action"].get<std::string>() == "drop");
362 } 362 }
363 } 363 }
364 364
365 BOOST_AUTO_TEST_CASE(out_of_bounds) 365 BOOST_AUTO_TEST_SUITE(errors)
366 { 366
367 nlohmann::json result; 367 BOOST_AUTO_TEST_CASE(invalid_index_1_from)
368 368 {
369 ctl_->send({ 369 boost::system::error_code result;
370 { "command", "rule-move" }, 370
371 { "from", 1024 }, 371 ctl_->send({
372 { "command", "rule-move" },
373 { "from", -100 },
372 { "to", 0 } 374 { "to", 0 }
373 }); 375 });
374 ctl_->recv([&] (auto, auto msg) { 376 ctl_->recv([&] (auto code, auto) {
375 result = msg; 377 result = code;
376 }); 378 });
377 379
378 wait_for([&] () { 380 wait_for([&] {
379 return result.is_object(); 381 return result;
380 }); 382 });
381 383
382 // TODO: error code 384 BOOST_ASSERT(result == rule_error::invalid_index);
383 BOOST_TEST(result.is_object()); 385 }
384 BOOST_TEST(result.count("error")); 386
387 BOOST_AUTO_TEST_CASE(invalid_index_1_to)
388 {
389 boost::system::error_code result;
390
391 ctl_->send({
392 { "command", "rule-move" },
393 { "from", 0 },
394 { "to", -100 }
395 });
396 ctl_->recv([&] (auto code, auto) {
397 result = code;
398 });
399
400 wait_for([&] {
401 return result;
402 });
403
404 BOOST_ASSERT(result == rule_error::invalid_index);
405 }
406
407 BOOST_AUTO_TEST_CASE(invalid_index_2_from)
408 {
409 boost::system::error_code result;
410
411 ctl_->send({
412 { "command", "rule-move" },
413 { "from", 100 },
414 { "to", 0 }
415 });
416 ctl_->recv([&] (auto code, auto) {
417 result = code;
418 });
419
420 wait_for([&] {
421 return result;
422 });
423
424 BOOST_ASSERT(result == rule_error::invalid_index);
425 }
426
427 BOOST_AUTO_TEST_CASE(invalid_index_3_from)
428 {
429 boost::system::error_code result;
430
431 ctl_->send({
432 { "command", "rule-move" },
433 { "from", "notaint" },
434 { "to", 0 }
435 });
436 ctl_->recv([&] (auto code, auto) {
437 result = code;
438 });
439
440 wait_for([&] {
441 return result;
442 });
443
444 BOOST_ASSERT(result == rule_error::invalid_index);
445 }
446
447 BOOST_AUTO_TEST_CASE(invalid_index_3_to)
448 {
449 boost::system::error_code result;
450
451 ctl_->send({
452 { "command", "rule-move" },
453 { "from", 0 },
454 { "to", "notaint" }
455 });
456 ctl_->recv([&] (auto code, auto) {
457 result = code;
458 });
459
460 wait_for([&] {
461 return result;
462 });
463
464 BOOST_ASSERT(result == rule_error::invalid_index);
385 } 465 }
386 466
387 BOOST_AUTO_TEST_SUITE_END() 467 BOOST_AUTO_TEST_SUITE_END()
388 468
469 BOOST_AUTO_TEST_SUITE_END()
470
389 } // !irccd 471 } // !irccd