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

Function TEST_P

src/tests/health_check_tests.cpp:2191–2308  ·  view source on GitHub ↗

Tests a healthy Docker task via HTTP. To emulate a task responsive to HTTP health checks, starts Netcat in the Docker "alpine" image.

Source from the content-addressed store, hash-verified

2189// Tests a healthy Docker task via HTTP. To emulate a task responsive
2190// to HTTP health checks, starts Netcat in the Docker "alpine" image.
2191TEST_P(
2192 DockerContainerizerHealthCheckTest,
2193 ROOT_DOCKER_USERNETWORK_NETNAMESPACE_HealthyTaskViaHTTP)
2194{
2195 Shared<Docker> docker(new MockDocker(
2196 tests::flags.docker, tests::flags.docker_socket));
2197
2198 Try<Owned<cluster::Master>> master = StartMaster();
2199 ASSERT_SOME(master);
2200
2201 slave::Flags agentFlags = CreateSlaveFlags();
2202
2203 Fetcher fetcher(agentFlags);
2204
2205 Try<ContainerLogger*> logger =
2206 ContainerLogger::create(agentFlags.container_logger);
2207 ASSERT_SOME(logger);
2208
2209 MockDockerContainerizer containerizer(
2210 agentFlags,
2211 &fetcher,
2212 Owned<ContainerLogger>(logger.get()),
2213 docker);
2214
2215 Owned<MasterDetector> detector = master.get()->createDetector();
2216 Try<Owned<cluster::Slave>> agent =
2217 StartSlave(detector.get(), &containerizer, agentFlags);
2218 ASSERT_SOME(agent);
2219
2220 MockScheduler sched;
2221 MesosSchedulerDriver driver(
2222 &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
2223
2224 EXPECT_CALL(sched, registered(&driver, _, _));
2225
2226 Future<vector<Offer>> offers;
2227 EXPECT_CALL(sched, resourceOffers(&driver, _))
2228 .WillOnce(FutureArg<1>(&offers))
2229 .WillRepeatedly(Return()); // Ignore subsequent offers.
2230
2231 driver.start();
2232
2233 AWAIT_READY(offers);
2234 ASSERT_FALSE(offers->empty());
2235
2236 TaskInfo task = createTask(offers.get()[0], DOCKER_HTTP_COMMAND);
2237
2238 // TODO(tnachen): Use local image to test if possible.
2239 ContainerInfo containerInfo;
2240 containerInfo.set_type(ContainerInfo::DOCKER);
2241 containerInfo.mutable_docker()->set_image(DOCKER_HTTP_IMAGE);
2242#ifndef __WINDOWS__
2243 containerInfo.mutable_docker()->set_network(ContainerInfo::DockerInfo::USER);
2244
2245 // Setup the Docker IPv6 network.
2246 NetworkInfo networkInfo;
2247 networkInfo.set_name(DOCKER_IPv6_NETWORK);
2248 containerInfo.add_network_infos()->CopyFrom(networkInfo);

Callers

nothing calls this directly

Calls 15

InvokeClass · 0.85
SecondsClass · 0.85
createDetectorMethod · 0.80
CopyFromMethod · 0.80
createTaskFunction · 0.70
startMethod · 0.65
launchTasksMethod · 0.65
stopMethod · 0.65
joinMethod · 0.65
createFunction · 0.50
launchFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected