public async Task TerminateOrchestration_ShouldReturnSuccess() { var taskHubClient = _host.Services.GetRequiredService <TaskHubClient>(); var orchestrationInstance = await taskHubClient.CreateOrchestrationInstanceAsync("Test", "v1", null); using var httpClient = _host.GetTestClient(); var request = new TerminateRequest { Reason = "Some reason" }; var requestJson = JsonConvert.SerializeObject(request); var requestContent = new StringContent(requestJson, Encoding.UTF8, "application/json"); var httpResponse = await httpClient.PostAsync($"/api/v1/orchestrations/{orchestrationInstance.InstanceId}/terminate", requestContent); httpResponse.StatusCode.Should().Be(200); httpResponse.Content.Headers.ContentType.MediaType.Should().Be("application/json"); var content = await httpResponse.Content.ReadAsStringAsync(); content.Should().Be("{}"); var messages = GetOrchestrationMessages(orchestrationInstance.InstanceId); messages.Should().HaveCount(2); var terminatedEvent = messages.Last().Event.Should().BeOfType <ExecutionTerminatedEvent>().Subject; terminatedEvent.Input.Should().Be("Some reason"); }
private void ProcessTerminate(TerminateRequest request) { if (this.TerminateRequested != null) { this.TerminateRequested(request); } }
public void AbortExecution(string caller_trace) { TerminateRequest terminateRequest = new TerminateRequest(); terminateRequest.arguments = new TerminateArguments(); terminateRequest.arguments.restart = false; Assert.True(VSCodeDebugger.Request(terminateRequest).Success, @"__FILE__:__LINE__" + "\n" + caller_trace); }
private void connection_TerminateRequested(TerminateRequest request) { Log <CafeAuthService> .Logger.WarnFormat("Response stop request from Session server: [{0}]", request); Option option = request.Option; this.processMessage(option, request.ExtendInfos, 0, request.NexonID, true); }
public override async Task <TerminateReply> Terminate(TerminateRequest request, ServerCallContext context) { // TODO: state 세분화 ServerApplication.TerminateToken.Cancel(); while (ServerApplication.IsServerTerminated == false) { Thread.Sleep(10); } return(new TerminateReply()); }
private void connection_PacketReceive(object sender, EventArgs <ArraySegment <byte> > e) { Packet packet = new Packet(e.Value); switch (packet.PacketType) { case PacketType.Initialize: { InitializeResponse arg = new InitializeResponse(ref packet); this.thread.Enqueue(Job.Create <InitializeResponse>(new Action <InitializeResponse>(this.ProcessInitialize), arg)); return; } case PacketType.Login: { LoginResponse arg2 = new LoginResponse(ref packet); this.thread.Enqueue(Job.Create <LoginResponse>(new Action <LoginResponse>(this.ProcessLogin), arg2)); return; } case PacketType.Logout: break; case PacketType.Terminate: { TerminateRequest arg3 = new TerminateRequest(ref packet); this.thread.Enqueue(Job.Create <TerminateRequest>(new Action <TerminateRequest>(this.ProcessTerminate), arg3)); break; } case PacketType.Message: { MessageRequest arg4 = new MessageRequest(ref packet); this.thread.Enqueue(Job.Create <MessageRequest>(new Action <MessageRequest>(this.ProcessMessage), arg4)); return; } case PacketType.Synchronize: { SynchronizeRequest arg5 = new SynchronizeRequest(ref packet); this.thread.Enqueue(Job.Create <SynchronizeRequest>(new Action <SynchronizeRequest>(this.ProcessSync), arg5)); return; } default: return; } }
/// <summary> /// Handles emulated <see cref="TerminateRequest"/> messages. /// </summary> /// <param name="request">The received message.</param> /// <returns>The tracking <see cref="Task"/>.</returns> private async Task OnEmulatedTerminateRequestAsync(TerminateRequest request) { await EmulatedLibraryClient.SendReplyAsync(request, new TerminateReply()); }