MCPcopy Create free account
hub / github.com/apache/mesos / TEST_F

Function TEST_F

src/tests/check_tests.cpp:403–521  ·  view source on GitHub ↗

Verifies that a command check's status changes are delivered. TODO(alexr): When check mocking is available, ensure that *only status changes are delivered.

Source from the content-addressed store, hash-verified

401// TODO(alexr): When check mocking is available, ensure that *only*
402// status changes are delivered.
403TEST_F(CommandExecutorCheckTest, CommandCheckStatusChange)
404{
405 Try<Owned<cluster::Master>> master = StartMaster();
406 ASSERT_SOME(master);
407
408 Owned<MasterDetector> detector = master.get()->createDetector();
409 Try<Owned<cluster::Slave>> agent = StartSlave(detector.get());
410 ASSERT_SOME(agent);
411
412 v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
413
414 auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
415
416 Future<Nothing> connected;
417 EXPECT_CALL(*scheduler, connected(_))
418 .WillOnce(FutureSatisfy(&connected));
419
420 v1::scheduler::TestMesos mesos(
421 master.get()->pid,
422 ContentType::PROTOBUF,
423 scheduler);
424
425 AWAIT_READY(connected);
426
427 Future<v1::scheduler::Event::Subscribed> subscribed;
428 EXPECT_CALL(*scheduler, subscribed(_, _))
429 .WillOnce(FutureArg<1>(&subscribed));
430
431 Future<v1::scheduler::Event::Offers> offers;
432 EXPECT_CALL(*scheduler, offers(_, _))
433 .WillOnce(FutureArg<1>(&offers))
434 .WillRepeatedly(Return()); // Ignore subsequent offers.
435
436 EXPECT_CALL(*scheduler, heartbeat(_))
437 .WillRepeatedly(Return()); // Ignore heartbeats.
438
439 subscribe(&mesos, frameworkInfo);
440
441 AWAIT_READY(subscribed);
442
443 v1::FrameworkID frameworkId(subscribed->framework_id());
444
445 AWAIT_READY(offers);
446 ASSERT_FALSE(offers->offers().empty());
447 const v1::Offer& offer = offers->offers(0);
448 const v1::AgentID& agentId = offer.agent_id();
449
450 Future<Event::Update> updateTaskStarting;
451 Future<Event::Update> updateTaskRunning;
452 Future<Event::Update> updateCheckResult;
453 Future<Event::Update> updateCheckResultChanged;
454 Future<Event::Update> updateCheckResultBack;
455
456 EXPECT_CALL(*scheduler, update(_, _))
457 .WillOnce(FutureArg<1>(&updateTaskStarting))
458 .WillOnce(FutureArg<1>(&updateTaskRunning))
459 .WillOnce(FutureArg<1>(&updateCheckResult))
460 .WillOnce(FutureArg<1>(&updateCheckResultChanged))

Callers

nothing calls this directly

Calls 15

FutureSatisfyFunction · 0.85
SecondsClass · 0.85
validateCheckInfoFunction · 0.85
CommandClass · 0.85
createCommandInfoFunction · 0.85
validateCheckStatusInfoFunction · 0.85
createDetectorMethod · 0.80
commandMethod · 0.80
CopyFromMethod · 0.80
nsMethod · 0.80
createTaskFunction · 0.70
updateFunction · 0.50

Tested by

no test coverage detected