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

Function TEST_F

src/tests/master/update_framework_tests.cpp:194–241  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

192
193
194TEST_F(UpdateFrameworkTest, UserChangeFails)
195{
196 Try<Owned<cluster::Master>> master = StartMaster(CreateMasterFlags());
197 ASSERT_SOME(master);
198
199 auto scheduler = std::make_shared<MockHTTPScheduler>();
200
201 Future<Nothing> connected;
202 EXPECT_CALL(*scheduler, connected(_))
203 .WillOnce(SendSubscribe(DEFAULT_FRAMEWORK_INFO));
204
205 EXPECT_CALL(*scheduler, heartbeat(_))
206 .WillRepeatedly(Return()); // Ignore heartbeats.
207
208 Future<Event::Subscribed> subscribed;
209
210 EXPECT_CALL(*scheduler, subscribed(_, _))
211 .WillOnce(FutureArg<1>(&subscribed));
212
213 TestMesos mesos(master->get()->pid, ContentType::PROTOBUF, scheduler);
214
215 AWAIT_READY(subscribed);
216
217 FrameworkInfo update = changeAllMutableFields(DEFAULT_FRAMEWORK_INFO);
218 *update.mutable_id() = subscribed->framework_id();
219 *update.mutable_user() += "_foo";
220
221 Future<APIResult> result = callUpdateFramework(&mesos, update);
222
223 AWAIT_READY(result);
224 EXPECT_EQ(result->status_code(), 400u);
225 EXPECT_TRUE(strings::contains(
226 result->error(), "Updating 'FrameworkInfo.user' is unsupported"));
227
228 // Check that no partial update occurred.
229 Future<v1::master::Response::GetFrameworks> frameworks =
230 getFrameworks(master->get()->pid);
231 AWAIT_READY(frameworks);
232 ASSERT_EQ(frameworks->frameworks_size(), 1);
233
234 FrameworkInfo expected = DEFAULT_FRAMEWORK_INFO;
235 *expected.mutable_id() = subscribed->framework_id();
236 EXPECT_NONE(::mesos::v1::typeutils::diff(
237 frameworks->frameworks(0).framework_info(), expected));
238
239 // Sanity check for diff()
240 EXPECT_SOME(::mesos::v1::typeutils::diff(update, expected));
241}
242
243
244TEST_F(UpdateFrameworkTest, PrincipalChangeFails)

Callers

nothing calls this directly

Calls 15

changeAllMutableFieldsFunction · 0.85
callUpdateFrameworkFunction · 0.85
getFrameworksFunction · 0.85
FutureSatisfyFunction · 0.85
InvokeClass · 0.85
NoneClass · 0.85
createBasicAuthHeadersFunction · 0.85
OKClass · 0.85
errorFunction · 0.85
DaysClass · 0.85
checkpointMethod · 0.80
createDetectorMethod · 0.80

Tested by

no test coverage detected