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()) {