// Check that the job is in the desired state
final Deployment fetchedDeployment = client.deployment(testHost(), jobId).get();
assertEquals(deployment, fetchedDeployment);
// Wait for the job to run
TaskStatus taskStatus;
taskStatus = awaitJobState(client, testHost(), jobId, RUNNING, LONG_WAIT_SECONDS, SECONDS);
assertEquals(job, taskStatus.getJob());
assertEquals(JobDeleteResponse.Status.STILL_IN_USE, client.deleteJob(jobId).get().getStatus());
// Wait for a while and make sure that the container is still running
Thread.sleep(5000);
final HostStatus hostStatus = client.hostStatus(testHost()).get();
taskStatus = hostStatus.getStatuses().get(jobId);
assertEquals(RUNNING, taskStatus.getState());
// Undeploy the job
final JobUndeployResponse undeployed = client.undeploy(jobId, testHost()).get();
assertEquals(JobUndeployResponse.Status.OK, undeployed.getStatus());