@Test
public void testRollingUpdateWithToken() throws Exception {
final String host = testHost();
startDefaultAgent(host, "--labels", TEST_LABEL);
final HeliosClient client = defaultClient();
awaitHostStatus(client, testHost(), UP, LONG_WAIT_SECONDS, SECONDS);
final Job job = Job.newBuilder()
.setName(testJobName)
.setVersion(testJobVersion)
.setImage(BUSYBOX)
.setCommand(IDLE_COMMAND)
.setToken(TOKEN)
.build();
final JobId jobId = createJob(job);
cli("create-deployment-group", "--json", TEST_GROUP, TEST_LABEL);
cli("rolling-update", "--async", "--token", TOKEN, testJobNameAndVersion, TEST_GROUP);
awaitDeploymentGroupStatus(defaultClient(), TEST_GROUP, DeploymentGroupStatus.State.DONE);
awaitTaskState(jobId, host, TaskStatus.State.RUNNING);
final String output = cli("undeploy", jobId.toString(), host);
assertThat(output, containsString("FORBIDDEN"));
awaitDeploymentGroupStatus(defaultClient(), TEST_GROUP, DeploymentGroupStatus.State.DONE);
awaitTaskState(jobId, host, TaskStatus.State.RUNNING);
}