You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gr...@apache.org on 2018/01/02 22:05:01 UTC
[2/2] mesos git commit: Cleaned up
`ResourceProviderManagerHttpApiTest.ConvertResources`.
Cleaned up `ResourceProviderManagerHttpApiTest.ConvertResources`.
This patch makes the test follow the pattern used by the Default
Executor tests.
Review: https://reviews.apache.org/r/64694/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/8e002d91
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/8e002d91
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/8e002d91
Branch: refs/heads/master
Commit: 8e002d91a6469b5fee98029f42986c6f66c9a89f
Parents: e8b5057
Author: Gaston Kleiman <ga...@mesosphere.io>
Authored: Tue Jan 2 13:44:27 2018 -0800
Committer: Greg Mann <gr...@gmail.com>
Committed: Tue Jan 2 14:01:35 2018 -0800
----------------------------------------------------------------------
src/tests/resource_provider_manager_tests.cpp | 74 +++++++++-------------
1 file changed, 29 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/8e002d91/src/tests/resource_provider_manager_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/resource_provider_manager_tests.cpp b/src/tests/resource_provider_manager_tests.cpp
index 096747e..2a76ccf 100644
--- a/src/tests/resource_provider_manager_tests.cpp
+++ b/src/tests/resource_provider_manager_tests.cpp
@@ -986,54 +986,39 @@ TEST_P(ResourceProviderManagerHttpApiTest, ConvertResources)
// Start and register a framework.
auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
- Future<Nothing> connected;
- EXPECT_CALL(*scheduler, connected(_)).WillOnce(FutureSatisfy(&connected));
-
- v1::scheduler::TestMesos mesos(
- master.get()->pid,
- ContentType::PROTOBUF,
- scheduler);
-
- AWAIT_READY(connected);
-
- Option<v1::FrameworkID> frameworkId;
- Option<mesos::v1::Offer> offer1;
-
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
frameworkInfo.set_roles(0, "role");
- {
- Future<v1::scheduler::Event::Subscribed> subscribed;
- EXPECT_CALL(*scheduler, subscribed(_, _))
- .WillOnce(FutureArg<1>(&subscribed));
+ EXPECT_CALL(*scheduler, connected(_))
+ .WillOnce(v1::scheduler::SendSubscribe(frameworkInfo));
- Future<v1::scheduler::Event::Offers> offers;
- EXPECT_CALL(*scheduler, offers(_, _))
- .WillOnce(FutureArg<1>(&offers))
- .WillRepeatedly(Return()); // Ignore subsequent offers.
+ Future<v1::scheduler::Event::Subscribed> subscribed;
+ EXPECT_CALL(*scheduler, subscribed(_, _))
+ .WillOnce(FutureArg<1>(&subscribed));
- EXPECT_CALL(*scheduler, heartbeat(_))
- .WillRepeatedly(Return()); // Ignore heartbeats.
+ Future<v1::scheduler::Event::Offers> offers1;
+ EXPECT_CALL(*scheduler, offers(_, _))
+ .WillOnce(FutureArg<1>(&offers1));
- mesos::v1::scheduler::Call call;
- call.set_type(mesos::v1::scheduler::Call::SUBSCRIBE);
- mesos::v1::scheduler::Call::Subscribe* subscribe = call.mutable_subscribe();
- subscribe->mutable_framework_info()->CopyFrom(frameworkInfo);
+ EXPECT_CALL(*scheduler, heartbeat(_))
+ .WillRepeatedly(Return()); // Ignore heartbeats.
- mesos.send(call);
+ v1::scheduler::TestMesos mesos(
+ master.get()->pid,
+ ContentType::PROTOBUF,
+ scheduler);
- AWAIT_READY(subscribed);
+ AWAIT_READY(subscribed);
+ v1::FrameworkID frameworkId(subscribed->framework_id());
- frameworkId = subscribed->framework_id();
+ // Resource provider resources will be offered to the framework.
+ AWAIT_READY(offers1);
+ ASSERT_FALSE(offers1->offers().empty());
- // Resource provider resources will be offered to the framework.
- AWAIT_READY(offers);
- EXPECT_FALSE(offers->offers().empty());
- offer1 = offers->offers(0);
- }
+ const v1::Offer& offer1 = offers1->offers(0);
v1::Resources resources =
- v1::Resources(offer1->resources()).filter([](const v1::Resource& resource) {
+ v1::Resources(offer1.resources()).filter([](const v1::Resource& resource) {
return resource.has_provider_id();
});
@@ -1044,23 +1029,22 @@ TEST_P(ResourceProviderManagerHttpApiTest, ConvertResources)
v1::createDynamicReservationInfo(
frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
- Future<v1::scheduler::Event::Offers> offers;
+ Future<v1::scheduler::Event::Offers> offers2;
EXPECT_CALL(*scheduler, offers(_, _))
- .WillOnce(FutureArg<1>(&offers))
+ .WillOnce(FutureArg<1>(&offers2))
.WillRepeatedly(Return()); // Ignore subsequent offers.
mesos.send(
v1::createCallAccept(
- frameworkId.get(),
- offer1.get(),
- {v1::RESERVE(reserved),
- v1::CREATE_BLOCK(reserved)}));
+ frameworkId,
+ offer1,
+ {v1::RESERVE(reserved), v1::CREATE_BLOCK(reserved)}));
// The converted resource should be offered to the framework.
- AWAIT_READY(offers);
- EXPECT_FALSE(offers->offers().empty());
+ AWAIT_READY(offers2);
+ ASSERT_FALSE(offers2->offers().empty());
- const v1::Offer& offer2 = offers->offers(0);
+ const v1::Offer& offer2 = offers2->offers(0);
Option<v1::Resource> block;
foreach (const v1::Resource& resource, offer2.resources()) {