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

Function TEST_P

src/tests/api_tests.cpp:179–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177
178
179TEST_P(MasterAPITest, GetAgents)
180{
181 Clock::pause();
182
183 master::Flags masterFlags = CreateMasterFlags();
184 masterFlags.domain = createDomainInfo("region-abc", "zone-123");
185
186 Try<Owned<cluster::Master>> master = this->StartMaster(masterFlags);
187 ASSERT_SOME(master);
188
189 Owned<MasterDetector> detector = master.get()->createDetector();
190
191 // Start one agent.
192 Future<UpdateSlaveMessage> updateAgentMessage =
193 FUTURE_PROTOBUF(UpdateSlaveMessage(), _, _);
194
195 slave::Flags slaveFlags = CreateSlaveFlags();
196 slaveFlags.hostname = "host";
197 slaveFlags.domain = createDomainInfo("region-xyz", "zone-456");
198
199 Try<Owned<cluster::Slave>> agent = StartSlave(detector.get(), slaveFlags);
200 ASSERT_SOME(agent);
201
202 Clock::advance(slaveFlags.registration_backoff_factor);
203 Clock::settle();
204 AWAIT_READY(updateAgentMessage);
205
206 v1::master::Call v1Call;
207 v1Call.set_type(v1::master::Call::GET_AGENTS);
208
209 ContentType contentType = GetParam();
210
211 Future<v1::master::Response> v1Response =
212 post(master.get()->pid, v1Call, contentType);
213
214 AWAIT_READY(v1Response);
215 ASSERT_TRUE(v1Response->IsInitialized());
216 ASSERT_EQ(v1::master::Response::GET_AGENTS, v1Response->type());
217 ASSERT_EQ(v1Response->get_agents().agents_size(), 1);
218
219 const v1::master::Response::GetAgents::Agent& v1Agent =
220 v1Response->get_agents().agents(0);
221
222 EXPECT_EQ("host", v1Agent.agent_info().hostname());
223 EXPECT_EQ(evolve(slaveFlags.domain.get()), v1Agent.agent_info().domain());
224 EXPECT_EQ(agent.get()->pid, v1Agent.pid());
225 EXPECT_TRUE(v1Agent.active());
226 EXPECT_EQ(MESOS_VERSION, v1Agent.version());
227 EXPECT_EQ(4, v1Agent.total_resources_size());
228 EXPECT_TRUE(v1Agent.resource_providers().empty());
229
230 // Start a resource provider.
231 mesos::v1::ResourceProviderInfo info;
232 info.set_type("org.apache.mesos.rp.test");
233 info.set_name("test");
234
235 v1::Resource resource = v1::createDiskResource(
236 "200", "*", None(), None(), v1::createDiskSourceRaw());

Callers

nothing calls this directly

Calls 15

createDomainInfoFunction · 0.85
createDiskResourceFunction · 0.85
NoneClass · 0.85
createDiskSourceRawFunction · 0.85
createEndpointDetectorFunction · 0.85
FutureSatisfyFunction · 0.85
SecondsClass · 0.85
shutdownFunction · 0.85
createBasicAuthHeadersFunction · 0.85
ForbiddenClass · 0.85
OKClass · 0.85
NotFoundClass · 0.85

Tested by

no test coverage detected