private void visitPlacementHostSelectionTaskStage(TaskServiceStageWithLink stage) { if (stage.taskSubStage.equals(DefaultSubStage.COMPLETED.name())) { info.hostSelections = Utils.fromJson(stage.properties, PlacementHostSelectionTaskState.class).hostSelections; } } }
protected void completeWithError(Consumer<T> patchBodyConfigurator) { completeWithError(Enum.valueOf(this.subStageType, DefaultSubStage.ERROR.toString()), patchBodyConfigurator); }
if (DefaultSubStage.ERROR.name().equals(body.subStage) || TaskStage.FAILED.name().equals(body.subStage) || TaskState.isFailed(body.taskInfo)) {
protected void complete() { complete(Enum.valueOf(this.subStageType, DefaultSubStage.COMPLETED.toString())); }
private boolean validateNewState(T state, Operation startPost) { if (state.documentVersion > 0) { logWarning("Document version on create is : %s", state.documentVersion); return false; } if (state.serviceTaskCallback == null) { state.serviceTaskCallback = ServiceTaskCallback.createEmpty(); } if (state.taskInfo == null) { state.taskInfo = new TaskState(); state.taskInfo.stage = TaskStage.CREATED; } if (state.taskSubStage == null) { state.taskSubStage = Enum.valueOf(subStageType, DefaultSubStage.CREATED.name()); } if (state.documentExpirationTimeMicros == 0) { state.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); } return validateStateOnStart(state, startPost); }
protected void complete(Consumer<T> patchBodyConfigurator) { complete(Enum.valueOf(this.subStageType, DefaultSubStage.COMPLETED.toString()), patchBodyConfigurator); }
@Test(expected = IllegalArgumentException.class) public void testInvalidSubscriptionEmptyStage() { ExtensibilitySubscription subscription = createExtensibilityState( // Subscription sub stage. DefaultSubStage.CREATED.name(), // URI to Subscriber which will change container's name. UriUtils.buildUri(host, DummySubscriber.SELF_LINK), // Target task.When it is finished subscriber will start. DummyServiceTaskState.class.getSimpleName(), // Subscription stage. null, false); subscription = sendOperation(host, subscriptionUri, subscription, ExtensibilitySubscription.class, Action.POST); }
protected void completeWithError() { completeWithError(Enum.valueOf(this.subStageType, DefaultSubStage.ERROR.toString())); }
@Test(expected = IllegalArgumentException.class) public void testInvalidSubscriptionEmptyUrl() { ExtensibilitySubscription subscription = createExtensibilityState( // Subscription sub stage. DefaultSubStage.CREATED.name(), // URI to Subscriber which will change container's name. null, // Target task.When it is finished subscriber will start. DummyServiceTaskState.class.getSimpleName(), // Subscription stage. TaskStage.STARTED.name(), false); subscription = sendOperation(host, subscriptionUri, subscription, ExtensibilitySubscription.class, Action.POST); }
&& DefaultSubStage.ERROR.name().equals(currentState.taskSubStage.name()) && TaskStage.FAILED == currentState.taskInfo.stage) { logWarning("Task already failed.%s", refererLogPart);
@Test public void testEmptyStage() { EventTopicState state = createEventTopicState(null, EVENT_NAME, EVENT_TASK, null, DefaultSubStage.COMPLETED.name(), false, new String()); URI uri = UriUtils.buildUri(host, EventTopicService.FACTORY_LINK); Operation op = Operation .createPost(uri) .setBody(state); FailureResponse failure = sender.sendAndWaitFailure(op); assertNotNull(failure); assertEquals("'Stage' is required.", failure.failure.getMessage()); }
@Test public void testEmptyName() { EventTopicState state = createEventTopicState(null, null, EVENT_TASK, TaskStage.FINISHED.name(), DefaultSubStage.COMPLETED.name(), false, new String()); URI uri = UriUtils.buildUri(host, EventTopicService.FACTORY_LINK); Operation op = Operation .createPost(uri) .setBody(state); FailureResponse failure = sender.sendAndWaitFailure(op); assertNotNull(failure); assertEquals("'name' is required.", failure.failure.getMessage()); }
@Test public void testEmptyTask() { EventTopicState state = createEventTopicState(null, EVENT_NAME, null, TaskStage.FINISHED.name(), DefaultSubStage.COMPLETED.name(), false, new String()); URI uri = UriUtils.buildUri(host, EventTopicService.FACTORY_LINK); Operation op = Operation .createPost(uri) .setBody(state); FailureResponse failure = sender.sendAndWaitFailure(op); assertNotNull(failure); assertEquals("'Task' is required.", failure.failure.getMessage()); }
@Test public void testEmptyBlocking() { EventTopicState state = createEventTopicState(null, EVENT_NAME, EVENT_TASK, TaskStage.FINISHED.name(), DefaultSubStage.COMPLETED.name(), null, new String()); URI uri = UriUtils.buildUri(host, EventTopicService.FACTORY_LINK); Operation op = Operation .createPost(uri) .setBody(state); FailureResponse failure = sender.sendAndWaitFailure(op); assertNotNull(failure); assertEquals("'Blocking' is required.", failure.failure.getMessage()); }
@Test public void testEmptySchema() { EventTopicState state = createEventTopicState(null, EVENT_NAME, EVENT_TASK, TaskStage.FINISHED.name(), DefaultSubStage.COMPLETED.name(), true, null); URI uri = UriUtils.buildUri(host, EventTopicService.FACTORY_LINK); Operation op = Operation .createPost(uri) .setBody(state); FailureResponse failure = sender.sendAndWaitFailure(op); assertNotNull(failure); assertEquals("'Schema' is required.", failure.failure.getMessage()); }
DefaultSubStage.COMPLETED.name(),
@Test public void testCreateEventRegistryTopic() { EventTopicState state = createEventTopicState("dummy-link", EVENT_NAME, EVENT_TASK, TaskStage.FINISHED.name(), DefaultSubStage.COMPLETED.name(), false, new String()); URI uri = UriUtils.buildUri(host, EventTopicService.FACTORY_LINK); EventTopicState result = sender .sendPostAndWait(uri, state, EventTopicState.class); assertNotNull(result); assertNotNull(result.documentSelfLink); assertNotNull(result.topicTaskInfo); assertEquals(state.topicTaskInfo.task, result.topicTaskInfo.task); assertEquals(state.topicTaskInfo.stage, result.topicTaskInfo.stage); assertEquals(state.topicTaskInfo.substage, result.topicTaskInfo.substage); uri = UriUtils.buildUri(host, result.documentSelfLink); result = sender.sendGetAndWait(uri, EventTopicState.class); assertNotNull(result); }
requestStatus.taskInfo = TaskState.createAsStarted(); requestStatus.progress = 100; requestStatus.subStage = DefaultSubStage.ERROR.name(); requestStatus.phase = "Container Allocation"; doOperation(requestStatus, return DefaultSubStage.ERROR.name().equals(state.subStage) && (state.progress.intValue() == 100); });