diff --git a/src/bundles/Elsa.Server.Web/Endpoints/DynamicWorkflows/Post/Endpoint.cs b/src/bundles/Elsa.Server.Web/Endpoints/DynamicWorkflows/Post/Endpoint.cs index 8e5f6b4fe..f72fb576e 100644 --- a/src/bundles/Elsa.Server.Web/Endpoints/DynamicWorkflows/Post/Endpoint.cs +++ b/src/bundles/Elsa.Server.Web/Endpoints/DynamicWorkflows/Post/Endpoint.cs @@ -3,6 +3,7 @@ using Elsa.Workflows.Activities; using Elsa.Workflows.Models; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; namespace Elsa.Server.Web.Endpoints.DynamicWorkflows.Post; @@ -31,6 +32,6 @@ public class Post(IWorkflowRegistry workflowRegistry, IWorkflowRuntime workflowR }; await workflowRegistry.RegisterAsync(workflow, ct); - await workflowRuntime.StartWorkflowAsync("DynamicWorkflow1", new StartWorkflowRuntimeOptions()); + await workflowRuntime.StartWorkflowAsync("DynamicWorkflow1", new StartWorkflowRuntimeParams()); } } \ No newline at end of file diff --git a/src/common/Elsa.Testing.Shared/ServiceProviderExtensions.cs b/src/common/Elsa.Testing.Shared/ServiceProviderExtensions.cs index 8e1bb3604..43f3aaee2 100644 --- a/src/common/Elsa.Testing.Shared/ServiceProviderExtensions.cs +++ b/src/common/Elsa.Testing.Shared/ServiceProviderExtensions.cs @@ -8,6 +8,7 @@ using Elsa.Workflows.Models; using Elsa.Workflows.Options; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.State; using JetBrains.Annotations; using Microsoft.Extensions.DependencyInjection; @@ -66,7 +67,7 @@ public static class ServiceProviderExtensions IDictionary? input = default, VersionOptions? versionOptions = default) { - var startWorkflowOptions = new StartWorkflowRuntimeOptions + var startWorkflowOptions = new StartWorkflowRuntimeParams { Input = input, VersionOptions = versionOptions ?? VersionOptions.Published @@ -78,7 +79,7 @@ public static class ServiceProviderExtensions // Continue resuming the workflow for as long as there are bookmarks to resume and the workflow is not Finished. while (result.Status != WorkflowStatus.Finished && bookmarks.TryPop(out var bookmark)) { - var resumeOptions = new ResumeWorkflowRuntimeOptions { BookmarkId = bookmark.Id }; + var resumeOptions = new ResumeWorkflowRuntimeParams { BookmarkId = bookmark.Id }; var resumeResult = await workflowRuntime.ResumeWorkflowAsync(result.WorkflowInstanceId, resumeOptions); foreach (var newBookmark in resumeResult!.Bookmarks) diff --git a/src/modules/Elsa.Http/Middleware/WorkflowsMiddleware.cs b/src/modules/Elsa.Http/Middleware/WorkflowsMiddleware.cs index ee366476d..9d6c8e0b2 100644 --- a/src/modules/Elsa.Http/Middleware/WorkflowsMiddleware.cs +++ b/src/modules/Elsa.Http/Middleware/WorkflowsMiddleware.cs @@ -24,6 +24,7 @@ using Elsa.Workflows.Models; using Elsa.Workflows.Runtime.Filters; using Elsa.Workflows.Runtime.Matches; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; using Elsa.Workflows.State; @@ -155,7 +156,7 @@ public class WorkflowsMiddleware { var httpBookmarkProcessor = serviceProvider.GetRequiredService(); var systemCancellationToken = cancellationTokens.SystemCancellationToken; - var executionOptions = new ExecuteWorkflowOptions + var executionOptions = new ExecuteWorkflowParams { Input = input, CancellationTokens = cancellationTokens diff --git a/src/modules/Elsa.Http/Services/HttpBookmarkProcessor.cs b/src/modules/Elsa.Http/Services/HttpBookmarkProcessor.cs index 7ff99ddb3..d3031d60b 100644 --- a/src/modules/Elsa.Http/Services/HttpBookmarkProcessor.cs +++ b/src/modules/Elsa.Http/Services/HttpBookmarkProcessor.cs @@ -4,7 +4,7 @@ using Elsa.Workflows.Management.Contracts; using Elsa.Workflows.Management.Mappers; using Elsa.Workflows.Models; using Elsa.Workflows.Runtime.Contracts; -using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; using Elsa.Workflows.State; using Microsoft.AspNetCore.Http; @@ -96,7 +96,7 @@ public class HttpBookmarkProcessor : IHttpBookmarkProcessor systemCancellationToken); var workflowHost = await _workflowHostFactory.CreateAsync(workflow, workflowState, applicationCancellationToken); - var options = new ResumeWorkflowHostOptions + var options = new ResumeWorkflowHostParams { CorrelationId = correlationId, BookmarkId = result.BookmarkId, diff --git a/src/modules/Elsa.MassTransit/Consumers/DispatchWorkflowRequestConsumer.cs b/src/modules/Elsa.MassTransit/Consumers/DispatchWorkflowRequestConsumer.cs index 4912ba6a6..28e1f7447 100644 --- a/src/modules/Elsa.MassTransit/Consumers/DispatchWorkflowRequestConsumer.cs +++ b/src/modules/Elsa.MassTransit/Consumers/DispatchWorkflowRequestConsumer.cs @@ -1,6 +1,7 @@ using Elsa.MassTransit.Messages; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using JetBrains.Annotations; using MassTransit; @@ -31,7 +32,7 @@ public class DispatchWorkflowRequestConsumer : { var message = context.Message; var cancellationToken = context.CancellationToken; - var options = new StartWorkflowRuntimeOptions + var options = new StartWorkflowRuntimeParams { CorrelationId = message.CorrelationId, Input = message.Input, @@ -51,7 +52,7 @@ public class DispatchWorkflowRequestConsumer : var message = context.Message; var cancellationToken = context.CancellationToken; - var options = new ResumeWorkflowRuntimeOptions + var options = new ResumeWorkflowRuntimeParams { CorrelationId = message.CorrelationId, BookmarkId = message.BookmarkId, diff --git a/src/modules/Elsa.ProtoActor/Grains/WorkflowInstance.cs b/src/modules/Elsa.ProtoActor/Grains/WorkflowInstance.cs index 21f680608..650cf840c 100644 --- a/src/modules/Elsa.ProtoActor/Grains/WorkflowInstance.cs +++ b/src/modules/Elsa.ProtoActor/Grains/WorkflowInstance.cs @@ -10,6 +10,7 @@ using Elsa.Workflows.Management.Contracts; using Elsa.Workflows.Management.Mappers; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Requests; using Elsa.Workflows.State; using Microsoft.Extensions.DependencyInjection; @@ -110,7 +111,7 @@ internal class WorkflowInstance : WorkflowInstanceBase var properties = request.Properties?.Deserialize(); var versionOptions = VersionOptions.FromString(request.VersionOptions); var cancellationToken = Context.CancellationToken; - var startWorkflowOptions = new StartWorkflowHostOptions + var startWorkflowOptions = new StartWorkflowHostParams { InstanceId = instanceId, CorrelationId = correlationId, @@ -161,7 +162,7 @@ internal class WorkflowInstance : WorkflowInstanceBase _input = input; } - var startWorkflowOptions = new StartWorkflowHostOptions + var startWorkflowOptions = new StartWorkflowHostParams { InstanceId = instanceId, CorrelationId = correlationId, @@ -252,7 +253,7 @@ internal class WorkflowInstance : WorkflowInstanceBase _cancellationTokenSources.Add(cancellationTokenSource); cancellationToken = cancellationTokenSource.Token; - var resumeWorkflowHostOptions = new ResumeWorkflowHostOptions + var resumeWorkflowHostOptions = new ResumeWorkflowHostParams { CorrelationId = correlationId, BookmarkId = bookmarkId, diff --git a/src/modules/Elsa.ProtoActor/Services/ProtoActorWorkflowRuntime.cs b/src/modules/Elsa.ProtoActor/Services/ProtoActorWorkflowRuntime.cs index 5e5bfed17..df2189014 100644 --- a/src/modules/Elsa.ProtoActor/Services/ProtoActorWorkflowRuntime.cs +++ b/src/modules/Elsa.ProtoActor/Services/ProtoActorWorkflowRuntime.cs @@ -11,6 +11,7 @@ using Elsa.Workflows.Runtime.Entities; using Elsa.Workflows.Runtime.Filters; using Elsa.Workflows.Runtime.Matches; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; using Elsa.Workflows.State; using Proto.Cluster; @@ -67,7 +68,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime } /// - public async Task CanStartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default) + public async Task CanStartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default) { var versionOptions = options?.VersionOptions; var correlationId = options?.CorrelationId; @@ -92,7 +93,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime } /// - public async Task TryStartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default) + public async Task TryStartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default) { // Load the workflow definition. var versionOptions = options?.VersionOptions ?? VersionOptions.Published; @@ -105,7 +106,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime } /// - public async Task StartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default) + public async Task StartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default) { var versionOptions = options?.VersionOptions; var correlationId = options?.CorrelationId; @@ -142,7 +143,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime { var definitionId = trigger.WorkflowDefinitionId; - var startOptions = new StartWorkflowRuntimeOptions + var startOptions = new StartWorkflowRuntimeParams { CorrelationId = options?.CorrelationId, Input = options?.Input, @@ -167,7 +168,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime } /// - public async Task ResumeWorkflowAsync(string workflowInstanceId, ResumeWorkflowRuntimeOptions? options = default) + public async Task ResumeWorkflowAsync(string workflowInstanceId, ResumeWorkflowRuntimeParams? options = default) { var request = new ResumeWorkflowRequest { @@ -196,7 +197,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime return await ResumeWorkflowsAsync( bookmarks, - new ResumeWorkflowRuntimeOptions + new ResumeWorkflowRuntimeParams { CorrelationId = correlationId, Input = options?.Input, @@ -217,11 +218,11 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime } /// - public async Task ExecuteWorkflowAsync(WorkflowMatch match, ExecuteWorkflowOptions? options = default) + public async Task ExecuteWorkflowAsync(WorkflowMatch match, ExecuteWorkflowParams? options = default) { if (match is StartableWorkflowMatch collectedStartableWorkflow) { - var startOptions = new StartWorkflowRuntimeOptions + var startOptions = new StartWorkflowRuntimeParams { CorrelationId = collectedStartableWorkflow.CorrelationId, Input = options?.Input, @@ -235,7 +236,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime } var collectedResumableWorkflow = (match as ResumableWorkflowMatch)!; - var runtimeOptions = new ResumeWorkflowRuntimeOptions + var runtimeOptions = new ResumeWorkflowRuntimeParams { CorrelationId = collectedResumableWorkflow.CorrelationId, Input = options?.Input, @@ -310,7 +311,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime return await _workflowInstanceStore.CountAsync(filter, cancellationToken); } - private async Task> ResumeWorkflowsAsync(IEnumerable bookmarks, ResumeWorkflowRuntimeOptions runtimeOptions) + private async Task> ResumeWorkflowsAsync(IEnumerable bookmarks, ResumeWorkflowRuntimeParams runtimeParams) { var resumedWorkflows = new List(); @@ -318,17 +319,17 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime { var workflowInstanceId = bookmark.WorkflowInstanceId; - var newRuntimeOptions = new ResumeWorkflowRuntimeOptions + var newRuntimeOptions = new ResumeWorkflowRuntimeParams { - CorrelationId = runtimeOptions.CorrelationId, - Input = runtimeOptions.Input, - Properties = runtimeOptions.Properties, + CorrelationId = runtimeParams.CorrelationId, + Input = runtimeParams.Input, + Properties = runtimeParams.Properties, BookmarkId = bookmark.BookmarkId, - ActivityId = runtimeOptions.ActivityId, - ActivityNodeId = runtimeOptions.ActivityNodeId, - ActivityInstanceId = runtimeOptions.ActivityInstanceId, - ActivityHash = runtimeOptions.ActivityHash, - CancellationTokens = runtimeOptions.CancellationTokens + ActivityId = runtimeParams.ActivityId, + ActivityNodeId = runtimeParams.ActivityNodeId, + ActivityInstanceId = runtimeParams.ActivityInstanceId, + ActivityHash = runtimeParams.ActivityHash, + CancellationTokens = runtimeParams.CancellationTokens }; var resumeResult = await ResumeWorkflowAsync(workflowInstanceId, newRuntimeOptions); @@ -349,7 +350,7 @@ internal class ProtoActorWorkflowRuntime : IWorkflowRuntime { var definitionId = trigger.WorkflowDefinitionId; - var startOptions = new StartWorkflowRuntimeOptions + var startOptions = new StartWorkflowRuntimeParams { CorrelationId = workflowsFilter.Options.CorrelationId, Input = workflowsFilter.Options.Input, diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Endpoint.cs index e948f36bf..78460bce6 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Endpoint.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Execute/Endpoint.cs @@ -7,6 +7,7 @@ using Elsa.Workflows.Management.Contracts; using Elsa.Workflows.Management.Filters; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.State; using JetBrains.Annotations; using Microsoft.AspNetCore.Http; @@ -64,7 +65,7 @@ internal class Execute : ElsaEndpoint var correlationId = request.CorrelationId; var input = (IDictionary?)request.Input; var instanceId = _identityGenerator.GenerateId(); - var startWorkflowOptions = new StartWorkflowRuntimeOptions + var startWorkflowOptions = new StartWorkflowRuntimeParams { CorrelationId = correlationId, Input = input, diff --git a/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowHost.cs b/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowHost.cs index a5ed6005f..d3401cb1f 100644 --- a/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowHost.cs +++ b/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowHost.cs @@ -1,5 +1,5 @@ using Elsa.Workflows.Activities; -using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; using Elsa.Workflows.State; @@ -23,15 +23,15 @@ public interface IWorkflowHost /// /// Returns a value indicating whether or not the specified workflow can start a new instance or not. /// - Task CanStartWorkflowAsync(StartWorkflowHostOptions? options = default, CancellationToken cancellationToken = default); + Task CanStartWorkflowAsync(StartWorkflowHostParams? @params = default, CancellationToken cancellationToken = default); /// /// Start a new workflow instance and execute it. /// - Task StartWorkflowAsync(StartWorkflowHostOptions? options = default, CancellationToken cancellationToken = default); + Task StartWorkflowAsync(StartWorkflowHostParams? @params = default, CancellationToken cancellationToken = default); /// /// Resume an existing workflow instance. /// - Task ResumeWorkflowAsync(ResumeWorkflowHostOptions? options = default, CancellationToken cancellationToken = default); + Task ResumeWorkflowAsync(ResumeWorkflowHostParams? @params = default, CancellationToken cancellationToken = default); } \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowInbox.cs b/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowInbox.cs index 52245a1fe..2f8f73d8b 100644 --- a/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowInbox.cs +++ b/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowInbox.cs @@ -1,7 +1,7 @@ using Elsa.Workflows.Runtime.Entities; using Elsa.Workflows.Runtime.Filters; using Elsa.Workflows.Runtime.Models; -using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; namespace Elsa.Workflows.Runtime.Contracts; @@ -24,7 +24,7 @@ public interface IWorkflowInbox /// The message to store. /// An optional set of delivery options. /// An optional cancellation token. - ValueTask SubmitAsync(NewWorkflowInboxMessage message, WorkflowInboxMessageDeliveryOptions options, CancellationToken cancellationToken = default); + ValueTask SubmitAsync(NewWorkflowInboxMessage message, WorkflowInboxMessageDeliveryParams options, CancellationToken cancellationToken = default); /// /// Delivers a message to a workflow instance. diff --git a/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowRuntime.cs b/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowRuntime.cs index 358b235ba..4e21268cd 100644 --- a/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowRuntime.cs +++ b/src/modules/Elsa.Workflows.Runtime/Contracts/IWorkflowRuntime.cs @@ -2,6 +2,7 @@ using Elsa.Workflows.Runtime.Entities; using Elsa.Workflows.Runtime.Filters; using Elsa.Workflows.Runtime.Matches; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Requests; using Elsa.Workflows.Runtime.Results; using Elsa.Workflows.State; @@ -16,14 +17,14 @@ public interface IWorkflowRuntime /// /// Returns a value whether or not the specified workflow definition can create a new instance. /// - Task CanStartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default); + Task CanStartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default); /// /// Creates a new workflow instance of the specified definition ID and executes it. /// /// The workflow definition ID to run. /// Options for starting the workflow. - Task StartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default); + Task StartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default); /// /// Starts all workflows with triggers matching the specified activity type and bookmark payload. @@ -34,14 +35,14 @@ public interface IWorkflowRuntime /// /// Tries to start a workflow and returns the result if successful. /// - Task TryStartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default); + Task TryStartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default); /// /// Resumes an existing workflow instance. /// /// The ID of the workflow instance to resume. /// Options for resuming the workflow. - Task ResumeWorkflowAsync(string workflowInstanceId, ResumeWorkflowRuntimeOptions? options = default); + Task ResumeWorkflowAsync(string workflowInstanceId, ResumeWorkflowRuntimeParams? options = default); /// /// Resumes all workflows that are bookmarked on the specified activity type. @@ -58,7 +59,7 @@ public interface IWorkflowRuntime /// /// A workflow match to execute. /// Options for executing the workflow. - Task ExecuteWorkflowAsync(WorkflowMatch match, ExecuteWorkflowOptions? options = default); + Task ExecuteWorkflowAsync(WorkflowMatch match, ExecuteWorkflowParams? options = default); /// /// Cancels the execution of a workflow. diff --git a/src/modules/Elsa.Workflows.Runtime/Handlers/DispatchWorkflowRequestHandler.cs b/src/modules/Elsa.Workflows.Runtime/Handlers/DispatchWorkflowRequestHandler.cs index 69d1d1e8c..da1b7d571 100644 --- a/src/modules/Elsa.Workflows.Runtime/Handlers/DispatchWorkflowRequestHandler.cs +++ b/src/modules/Elsa.Workflows.Runtime/Handlers/DispatchWorkflowRequestHandler.cs @@ -3,6 +3,7 @@ using Elsa.Mediator.Models; using Elsa.Workflows.Runtime.Commands; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; namespace Elsa.Workflows.Runtime.Handlers; @@ -31,7 +32,7 @@ internal class DispatchWorkflowCommandHandler(IWorkflowRuntime workflowRuntime) public async Task HandleAsync(DispatchWorkflowDefinitionCommand command, CancellationToken cancellationToken) { - var options = new StartWorkflowRuntimeOptions + var options = new StartWorkflowRuntimeParams { CorrelationId = command.CorrelationId, Input = command.Input, @@ -49,7 +50,7 @@ internal class DispatchWorkflowCommandHandler(IWorkflowRuntime workflowRuntime) public async Task HandleAsync(DispatchWorkflowInstanceCommand command, CancellationToken cancellationToken) { - var options = new ResumeWorkflowRuntimeOptions + var options = new ResumeWorkflowRuntimeParams { CorrelationId = command.CorrelationId, BookmarkId = command.BookmarkId, diff --git a/src/modules/Elsa.Workflows.Runtime/HostedServices/PopulateRegistriesHostedService.cs b/src/modules/Elsa.Workflows.Runtime/HostedServices/PopulateRegistriesHostedService.cs index a67298d9f..718c0f50b 100644 --- a/src/modules/Elsa.Workflows.Runtime/HostedServices/PopulateRegistriesHostedService.cs +++ b/src/modules/Elsa.Workflows.Runtime/HostedServices/PopulateRegistriesHostedService.cs @@ -1,31 +1,43 @@ using Elsa.Workflows.Contracts; using Elsa.Workflows.Runtime.Contracts; +using Elsa.Workflows.Runtime.Options; +using JetBrains.Annotations; +using Medallion.Threading; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Options; namespace Elsa.Workflows.Runtime.HostedServices; /// /// Updates the workflow store from implementations, creates triggers and updates the . /// +[UsedImplicitly] public class PopulateRegistriesHostedService : IHostedService { private readonly IServiceScopeFactory _scopeFactory; + private readonly DistributedLockingOptions _options; /// /// Initializes a new instance of the class. /// - public PopulateRegistriesHostedService(IServiceScopeFactory scopeFactory) + public PopulateRegistriesHostedService(IServiceScopeFactory scopeFactory, IOptions options) { _scopeFactory = scopeFactory; + _options = options.Value; } /// public async Task StartAsync(CancellationToken cancellationToken) { using var scope = _scopeFactory.CreateScope(); - var registriesPopulator = scope.ServiceProvider.GetRequiredService(); - await registriesPopulator.PopulateAsync(cancellationToken); + var distributedLockProvider = scope.ServiceProvider.GetRequiredService(); + var lockAcquisitionTimeout = _options.LockAcquisitionTimeout; + await using (await distributedLockProvider.AcquireLockAsync("PopulateRegistries", lockAcquisitionTimeout, cancellationToken)) + { + var registriesPopulator = scope.ServiceProvider.GetRequiredService(); + await registriesPopulator.PopulateAsync(cancellationToken); + } } /// diff --git a/src/modules/Elsa.Workflows.Runtime/Notifications/WorkflowInboxMessageReceived.cs b/src/modules/Elsa.Workflows.Runtime/Notifications/WorkflowInboxMessageReceived.cs index 823fc7cd4..377d83aeb 100644 --- a/src/modules/Elsa.Workflows.Runtime/Notifications/WorkflowInboxMessageReceived.cs +++ b/src/modules/Elsa.Workflows.Runtime/Notifications/WorkflowInboxMessageReceived.cs @@ -1,6 +1,7 @@ using Elsa.Mediator.Contracts; using Elsa.Workflows.Runtime.Entities; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; namespace Elsa.Workflows.Runtime.Notifications; @@ -11,5 +12,5 @@ namespace Elsa.Workflows.Runtime.Notifications; /// The inbox message that was received. public record WorkflowInboxMessageReceived( WorkflowInboxMessage InboxMessage, - WorkflowInboxMessageDeliveryOptions Options, + WorkflowInboxMessageDeliveryParams Options, ICollection WorkflowExecutionResults) : INotification; \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Runtime/Options/DistributedLockingOptions.cs b/src/modules/Elsa.Workflows.Runtime/Options/DistributedLockingOptions.cs index defa3c00a..7e583a11b 100644 --- a/src/modules/Elsa.Workflows.Runtime/Options/DistributedLockingOptions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Options/DistributedLockingOptions.cs @@ -1,10 +1,12 @@ using Elsa.Workflows.Runtime.Services; +using JetBrains.Annotations; namespace Elsa.Workflows.Runtime.Options; /// /// Provides options related to distributed locking, which is used by . /// +[UsedImplicitly] public class DistributedLockingOptions { /// diff --git a/src/modules/Elsa.Workflows.Runtime/Options/ExecuteWorkflowOptions.cs b/src/modules/Elsa.Workflows.Runtime/Parameters/ExecuteWorkflowParams.cs similarity index 78% rename from src/modules/Elsa.Workflows.Runtime/Options/ExecuteWorkflowOptions.cs rename to src/modules/Elsa.Workflows.Runtime/Parameters/ExecuteWorkflowParams.cs index f85a1c309..1333e93d8 100644 --- a/src/modules/Elsa.Workflows.Runtime/Options/ExecuteWorkflowOptions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Parameters/ExecuteWorkflowParams.cs @@ -1,11 +1,11 @@ using Elsa.Workflows.Models; -namespace Elsa.Workflows.Runtime.Options; +namespace Elsa.Workflows.Runtime.Parameters; /// /// Options for executing workflows. /// -public class ExecuteWorkflowOptions +public class ExecuteWorkflowParams { public IDictionary? Input { get; set; } public IDictionary? Properties { get; set; } diff --git a/src/modules/Elsa.Workflows.Runtime/Options/ResumeWorkflowHostOptions.cs b/src/modules/Elsa.Workflows.Runtime/Parameters/ResumeWorkflowHostParams.cs similarity index 93% rename from src/modules/Elsa.Workflows.Runtime/Options/ResumeWorkflowHostOptions.cs rename to src/modules/Elsa.Workflows.Runtime/Parameters/ResumeWorkflowHostParams.cs index d9c35f72d..c1d7b28b1 100644 --- a/src/modules/Elsa.Workflows.Runtime/Options/ResumeWorkflowHostOptions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Parameters/ResumeWorkflowHostParams.cs @@ -1,11 +1,11 @@ using Elsa.Workflows.Models; -namespace Elsa.Workflows.Runtime.Options; +namespace Elsa.Workflows.Runtime.Parameters; /// /// Represents options for resuming a workflow host. /// -public class ResumeWorkflowHostOptions +public class ResumeWorkflowHostParams { /// An optional correlation ID. public string? CorrelationId { get; set; } diff --git a/src/modules/Elsa.Workflows.Runtime/Options/ResumeWorkflowRuntimeOptions.cs b/src/modules/Elsa.Workflows.Runtime/Parameters/ResumeWorkflowRuntimeParams.cs similarity index 86% rename from src/modules/Elsa.Workflows.Runtime/Options/ResumeWorkflowRuntimeOptions.cs rename to src/modules/Elsa.Workflows.Runtime/Parameters/ResumeWorkflowRuntimeParams.cs index 8e1e70bc5..232554d2b 100644 --- a/src/modules/Elsa.Workflows.Runtime/Options/ResumeWorkflowRuntimeOptions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Parameters/ResumeWorkflowRuntimeParams.cs @@ -1,11 +1,11 @@ using Elsa.Workflows.Models; -namespace Elsa.Workflows.Runtime.Options; +namespace Elsa.Workflows.Runtime.Parameters; /// /// Options for resuming workflows. /// -public class ResumeWorkflowRuntimeOptions +public class ResumeWorkflowRuntimeParams { public string? CorrelationId { get; set; } public string? BookmarkId { get; set; } diff --git a/src/modules/Elsa.Workflows.Runtime/Options/StartWorkflowHostOptions.cs b/src/modules/Elsa.Workflows.Runtime/Parameters/StartWorkflowHostParams.cs similarity index 93% rename from src/modules/Elsa.Workflows.Runtime/Options/StartWorkflowHostOptions.cs rename to src/modules/Elsa.Workflows.Runtime/Parameters/StartWorkflowHostParams.cs index 1a4697c81..43fb18e5f 100644 --- a/src/modules/Elsa.Workflows.Runtime/Options/StartWorkflowHostOptions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Parameters/StartWorkflowHostParams.cs @@ -1,11 +1,11 @@ using Elsa.Workflows.Models; -namespace Elsa.Workflows.Runtime.Options; +namespace Elsa.Workflows.Runtime.Parameters; /// /// Represents options for starting a workflow host. /// -public class StartWorkflowHostOptions +public class StartWorkflowHostParams { /// An optional workflow instance ID. If not specified, a new ID will be generated. public string? InstanceId { get; set; } diff --git a/src/modules/Elsa.Workflows.Runtime/Options/StartWorkflowRuntimeOptions.cs b/src/modules/Elsa.Workflows.Runtime/Parameters/StartWorkflowRuntimeParams.cs similarity index 86% rename from src/modules/Elsa.Workflows.Runtime/Options/StartWorkflowRuntimeOptions.cs rename to src/modules/Elsa.Workflows.Runtime/Parameters/StartWorkflowRuntimeParams.cs index 78f9cb842..e04fe94b1 100644 --- a/src/modules/Elsa.Workflows.Runtime/Options/StartWorkflowRuntimeOptions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Parameters/StartWorkflowRuntimeParams.cs @@ -1,12 +1,12 @@ using Elsa.Common.Models; using Elsa.Workflows.Models; -namespace Elsa.Workflows.Runtime.Options; +namespace Elsa.Workflows.Runtime.Parameters; /// /// Represents options for starting a workflow. /// -public class StartWorkflowRuntimeOptions +public class StartWorkflowRuntimeParams { public string? CorrelationId { get; set; } diff --git a/src/modules/Elsa.Workflows.Runtime/Options/WorkflowInboxMessageDeliveryOptions.cs b/src/modules/Elsa.Workflows.Runtime/Parameters/WorkflowInboxMessageDeliveryParams.cs similarity index 74% rename from src/modules/Elsa.Workflows.Runtime/Options/WorkflowInboxMessageDeliveryOptions.cs rename to src/modules/Elsa.Workflows.Runtime/Parameters/WorkflowInboxMessageDeliveryParams.cs index 4b874e210..f6edaa04b 100644 --- a/src/modules/Elsa.Workflows.Runtime/Options/WorkflowInboxMessageDeliveryOptions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Parameters/WorkflowInboxMessageDeliveryParams.cs @@ -1,9 +1,9 @@ -namespace Elsa.Workflows.Runtime.Options; +namespace Elsa.Workflows.Runtime.Parameters; /// /// Options for delivering a workflow inbox message. /// -public class WorkflowInboxMessageDeliveryOptions +public class WorkflowInboxMessageDeliveryParams { /// /// Whether to dispatch the message to the workflow dispatcher or send immediately. diff --git a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowDefinitionStorePopulator.cs b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowDefinitionStorePopulator.cs index 7cb2ff9ac..8431af360 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowDefinitionStorePopulator.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowDefinitionStorePopulator.cs @@ -21,6 +21,7 @@ public class DefaultWorkflowDefinitionStorePopulator : IWorkflowDefinitionStoreP private readonly IPayloadSerializer _payloadSerializer; private readonly ISystemClock _systemClock; private readonly IIdentityGraphService _identityGraphService; + private readonly SemaphoreSlim _semaphore = new(1, 1); /// /// Constructor. @@ -51,13 +52,10 @@ public class DefaultWorkflowDefinitionStorePopulator : IWorkflowDefinitionStoreP { var results = await provider.GetWorkflowsAsync(cancellationToken).AsTask().ToList(); - foreach (var result in results) - { - await AddAsync(result, cancellationToken); - } + foreach (var result in results) await AddAsync(result, cancellationToken); } } - + /// public async Task AddAsync(MaterializedWorkflow materializedWorkflow, CancellationToken cancellationToken = default) { @@ -72,6 +70,20 @@ public class DefaultWorkflowDefinitionStorePopulator : IWorkflowDefinitionStoreP } private async Task AddOrUpdateAsync(MaterializedWorkflow materializedWorkflow, CancellationToken cancellationToken = default) + { + await _semaphore.WaitAsync(cancellationToken); + + try + { + await AddOrUpdateCoreAsync(materializedWorkflow, cancellationToken); + } + finally + { + _semaphore.Release(); + } + } + + private async Task AddOrUpdateCoreAsync(MaterializedWorkflow materializedWorkflow, CancellationToken cancellationToken = default) { var workflow = materializedWorkflow.Workflow; var definitionId = workflow.Identity.DefinitionId; @@ -89,25 +101,29 @@ public class DefaultWorkflowDefinitionStorePopulator : IWorkflowDefinitionStoreP DefinitionId = definitionId, VersionOptions = VersionOptions.SpecificVersion(workflow.Identity.Version) }; - + var existingDefinitionVersion = await _workflowDefinitionStore.FindAsync(specificVersionFilter, cancellationToken); // Setup a list to collect all workflow definitions to be persisted. var workflowDefinitionsToSave = new HashSet(); - - if(existingDefinitionVersion != null) + + if (existingDefinitionVersion != null) workflowDefinitionsToSave.Add(existingDefinitionVersion); - + // If the workflow being added is configured to be the latest version, then we need to reset the current latest version. if (workflow.Publication.IsLatest) { // Reset current latest definitions. - var filter = new WorkflowDefinitionFilter { DefinitionId = definitionId, VersionOptions = VersionOptions.Latest }; + var filter = new WorkflowDefinitionFilter + { + DefinitionId = definitionId, + VersionOptions = VersionOptions.Latest + }; var latestWorkflowDefinitions = (await _workflowDefinitionStore.FindManyAsync(filter, cancellationToken)).ToList(); // If the latest definitions contains definitions with the same ID then we need to replace them with the latest workflow definitions. SyncExistingCopies(latestWorkflowDefinitions, workflowDefinitionsToSave); - + foreach (var latestWorkflowDefinition in latestWorkflowDefinitions) { latestWorkflowDefinition.IsLatest = false; @@ -119,12 +135,16 @@ public class DefaultWorkflowDefinitionStorePopulator : IWorkflowDefinitionStoreP if (workflow.Publication.IsPublished) { // Reset current published definitions. - var filter = new WorkflowDefinitionFilter { DefinitionId = definitionId, VersionOptions = VersionOptions.Published }; + var filter = new WorkflowDefinitionFilter + { + DefinitionId = definitionId, + VersionOptions = VersionOptions.Published + }; var publishedWorkflowDefinitions = (await _workflowDefinitionStore.FindManyAsync(filter, cancellationToken)).ToList(); // If the published workflow definitions contains definitions with the same ID as definitions in the latest workflow definitions, then we need to replace them with the latest workflow definitions. SyncExistingCopies(publishedWorkflowDefinitions, workflowDefinitionsToSave); - + foreach (var publishedWorkflowDefinition in publishedWorkflowDefinitions) { publishedWorkflowDefinition.IsPublished = false; @@ -138,7 +158,7 @@ public class DefaultWorkflowDefinitionStorePopulator : IWorkflowDefinitionStoreP Id = workflow.Identity.Id, Version = workflow.Identity.Version }; - + workflowDefinition.Description = workflow.WorkflowMetadata.Description; workflowDefinition.Name = workflow.WorkflowMetadata.Name; workflowDefinition.ToolVersion = workflow.WorkflowMetadata.ToolVersion; @@ -171,6 +191,6 @@ public class DefaultWorkflowDefinitionStorePopulator : IWorkflowDefinitionStoreP var ids = secondary.Select(x => x.Id).Distinct().ToList(); var latestWorkflowDefinitions = primary.Where(x => ids.Contains(x.Id)).ToList(); primary.RemoveAll(x => latestWorkflowDefinitions.Contains(x)); - primary.AddRange(secondary.Where(x => ids.Contains(x.Id))); + primary.AddRange(secondary.Where(x => ids.Contains(x.Id))); } } \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowInbox.cs b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowInbox.cs index af952d15d..fb1017356 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowInbox.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowInbox.cs @@ -8,6 +8,7 @@ using Elsa.Workflows.Runtime.Filters; using Elsa.Workflows.Runtime.Models; using Elsa.Workflows.Runtime.Notifications; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Requests; using Elsa.Workflows.Runtime.Results; @@ -48,12 +49,12 @@ public class DefaultWorkflowInbox : IWorkflowInbox /// public async ValueTask SubmitAsync(NewWorkflowInboxMessage message, CancellationToken cancellationToken = default) { - var defaultOptions = new WorkflowInboxMessageDeliveryOptions(); + var defaultOptions = new WorkflowInboxMessageDeliveryParams(); return await SubmitAsync(message, defaultOptions, cancellationToken); } /// - public async ValueTask SubmitAsync(NewWorkflowInboxMessage newMessage, WorkflowInboxMessageDeliveryOptions options, CancellationToken cancellationToken = default) + public async ValueTask SubmitAsync(NewWorkflowInboxMessage newMessage, WorkflowInboxMessageDeliveryParams @params, CancellationToken cancellationToken = default) { var now = _systemClock.UtcNow; @@ -77,7 +78,7 @@ public class DefaultWorkflowInbox : IWorkflowInbox // Send a notification. var workflowExecutionResults = new List(); - var notification = new WorkflowInboxMessageReceived(message, options, workflowExecutionResults); + var notification = new WorkflowInboxMessageReceived(message, @params, workflowExecutionResults); await _notificationSender.SendAsync(notification, NotificationStrategy.Sequential, cancellationToken); // Return the result. diff --git a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowRuntime.cs b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowRuntime.cs index 905050775..0a7b5bc79 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowRuntime.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowRuntime.cs @@ -10,6 +10,7 @@ using Elsa.Workflows.Runtime.Entities; using Elsa.Workflows.Runtime.Filters; using Elsa.Workflows.Runtime.Matches; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Requests; using Elsa.Workflows.Runtime.Results; using Elsa.Workflows.State; @@ -73,12 +74,12 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime } /// - public async Task CanStartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default) + public async Task CanStartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default) { var input = options?.Input; var correlationId = options?.CorrelationId; var workflowHost = await CreateWorkflowHostAsync(definitionId, options, options?.CancellationTokens.SystemCancellationToken ?? default); - var startWorkflowOptions = new StartWorkflowHostOptions + var startWorkflowOptions = new StartWorkflowHostParams { CorrelationId = correlationId, Input = input, @@ -89,14 +90,14 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime } /// - public async Task StartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default) + public async Task StartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default) { var workflowHost = await CreateWorkflowHostAsync(definitionId, options, options?.CancellationTokens.SystemCancellationToken ?? default); return await StartWorkflowAsync(workflowHost, options); } /// - public async Task TryStartWorkflowAsync(string definitionId, StartWorkflowRuntimeOptions? options = default) + public async Task TryStartWorkflowAsync(string definitionId, StartWorkflowRuntimeParams? options = default) { return await StartWorkflowAsync(definitionId, options); } @@ -184,7 +185,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime { var definitionId = trigger.WorkflowDefinitionId; - var startOptions = new StartWorkflowRuntimeOptions + var startOptions = new StartWorkflowRuntimeParams { CorrelationId = options.CorrelationId, Input = options.Input, @@ -213,7 +214,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime } /// - public async Task ResumeWorkflowAsync(string workflowInstanceId, ResumeWorkflowRuntimeOptions? options = default) + public async Task ResumeWorkflowAsync(string workflowInstanceId, ResumeWorkflowRuntimeParams? options = default) { var applicationCancellationToken = options?.CancellationTokens.ApplicationCancellationToken ?? default; var systemCancellationToken = options?.CancellationTokens.SystemCancellationToken ?? default; @@ -245,7 +246,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime var workflowState = _workflowStateMapper.Map(workflowInstance)!; var workflowHost = await _workflowHostFactory.CreateAsync(workflow, workflowState, systemCancellationToken); - var resumeWorkflowOptions = new ResumeWorkflowHostOptions + var resumeWorkflowOptions = new ResumeWorkflowHostParams { CorrelationId = options?.CorrelationId, BookmarkId = options?.BookmarkId, @@ -286,7 +287,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime return await ResumeWorkflowsAsync( bookmarks, - new ResumeWorkflowRuntimeOptions + new ResumeWorkflowRuntimeParams { CorrelationId = correlationId, Input = options.Input, @@ -304,11 +305,11 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime } /// - public async Task ExecuteWorkflowAsync(WorkflowMatch match, ExecuteWorkflowOptions? options = default) + public async Task ExecuteWorkflowAsync(WorkflowMatch match, ExecuteWorkflowParams? options = default) { if (match is StartableWorkflowMatch collectedStartableWorkflow) { - var startOptions = new StartWorkflowRuntimeOptions + var startOptions = new StartWorkflowRuntimeParams { CorrelationId = collectedStartableWorkflow.CorrelationId, Input = options?.Input, @@ -327,7 +328,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime } var collectedResumableWorkflow = (match as ResumableWorkflowMatch)!; - var runtimeOptions = new ResumeWorkflowRuntimeOptions + var runtimeOptions = new ResumeWorkflowRuntimeParams { CorrelationId = collectedResumableWorkflow.CorrelationId, BookmarkId = collectedResumableWorkflow.BookmarkId, @@ -381,7 +382,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime return await _workflowInstanceStore.CountAsync(filter, cancellationToken); } - private async Task StartWorkflowAsync(IWorkflowHost workflowHost, StartWorkflowRuntimeOptions? options = default) + private async Task StartWorkflowAsync(IWorkflowHost workflowHost, StartWorkflowRuntimeParams? options = default) { var workflowInstanceId = string.IsNullOrEmpty(options?.InstanceId) ? _identityGenerator.GenerateId() : options?.InstanceId; var cancellationTokens = options?.CancellationTokens ?? default; @@ -390,7 +391,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime { var input = options?.Input; var correlationId = options?.CorrelationId; - var startWorkflowOptions = new StartWorkflowHostOptions + var startWorkflowOptions = new StartWorkflowHostParams { InstanceId = workflowInstanceId, CorrelationId = correlationId, @@ -414,7 +415,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime } } - private async Task CreateWorkflowHostAsync(string definitionId, StartWorkflowRuntimeOptions? options, CancellationToken cancellationToken) + private async Task CreateWorkflowHostAsync(string definitionId, StartWorkflowRuntimeParams? options, CancellationToken cancellationToken) { var versionOptions = options?.VersionOptions; var host = await _workflowHostFactory.CreateAsync(definitionId, versionOptions ?? VersionOptions.Published, cancellationToken); @@ -425,7 +426,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime return host; } - private async Task> ResumeWorkflowsAsync(IEnumerable bookmarks, ResumeWorkflowRuntimeOptions runtimeOptions) + private async Task> ResumeWorkflowsAsync(IEnumerable bookmarks, ResumeWorkflowRuntimeParams runtimeParams) { var resumedWorkflows = new List(); @@ -435,12 +436,12 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime var resumeResult = await ResumeWorkflowAsync( workflowInstanceId, - new ResumeWorkflowRuntimeOptions + new ResumeWorkflowRuntimeParams { - CorrelationId = runtimeOptions.CorrelationId, - Input = runtimeOptions.Input, - Properties = runtimeOptions.Properties, - CancellationTokens = runtimeOptions.CancellationTokens, + CorrelationId = runtimeParams.CorrelationId, + Input = runtimeParams.Input, + Properties = runtimeParams.Properties, + CancellationTokens = runtimeParams.CancellationTokens, BookmarkId = bookmark.BookmarkId, ActivityInstanceId = bookmark.ActivityInstanceId }); @@ -475,7 +476,7 @@ public class DefaultWorkflowRuntime : IWorkflowRuntime foreach (var trigger in triggers) { var definitionId = trigger.WorkflowDefinitionId; - var startOptions = new StartWorkflowRuntimeOptions + var startOptions = new StartWorkflowRuntimeParams { CorrelationId = workflowsFilter.Options.CorrelationId, Input = workflowsFilter.Options.Input, diff --git a/src/modules/Elsa.Workflows.Runtime/Services/EventPublisher.cs b/src/modules/Elsa.Workflows.Runtime/Services/EventPublisher.cs index 44d5c4524..8aa2371db 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/EventPublisher.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/EventPublisher.cs @@ -5,6 +5,7 @@ using Elsa.Workflows.Runtime.Bookmarks; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Models; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; namespace Elsa.Workflows.Runtime.Services; @@ -61,7 +62,7 @@ public class EventPublisher : IEventPublisher [Event.EventPayloadWorkflowInputKey] = payload ?? new Dictionary() }; var message = NewWorkflowInboxMessage.For(eventBookmark, workflowInstanceId, correlationId, activityInstanceId, workflowInput); - var options = new WorkflowInboxMessageDeliveryOptions + var options = new WorkflowInboxMessageDeliveryParams { DispatchAsynchronously = dispatchAsynchronously }; diff --git a/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHost.cs b/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHost.cs index 07eb48939..2daa06e5e 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHost.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHost.cs @@ -5,6 +5,7 @@ using Elsa.Workflows.Models; using Elsa.Workflows.Options; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Elsa.Workflows.Runtime.Results; using Elsa.Workflows.State; using Microsoft.Extensions.DependencyInjection; @@ -45,7 +46,7 @@ public class WorkflowHost : IWorkflowHost public WorkflowState WorkflowState { get; set; } /// - public async Task CanStartWorkflowAsync(StartWorkflowHostOptions? options = default, CancellationToken cancellationToken = default) + public async Task CanStartWorkflowAsync(StartWorkflowHostParams? @params = default, CancellationToken cancellationToken = default) { var strategyType = Workflow.Options.ActivationStrategyType; @@ -59,19 +60,19 @@ public class WorkflowHost : IWorkflowHost if (strategy == null) return true; - var correlationId = options?.CorrelationId; + var correlationId = @params?.CorrelationId; var strategyContext = new WorkflowInstantiationStrategyContext(Workflow, correlationId, cancellationToken); return await strategy.GetAllowActivationAsync(strategyContext); } /// - public async Task StartWorkflowAsync(StartWorkflowHostOptions? options = default, CancellationToken cancellationToken = default) + public async Task StartWorkflowAsync(StartWorkflowHostParams? @params = default, CancellationToken cancellationToken = default) { - var correlationId = options?.CorrelationId; - var instanceId = options?.InstanceId ?? _identityGenerator.GenerateId(); + var correlationId = @params?.CorrelationId; + var instanceId = @params?.InstanceId ?? _identityGenerator.GenerateId(); var originalBookmarks = WorkflowState.Bookmarks.ToList(); - var input = options?.Input; - var properties = options?.Properties; + var input = @params?.Input; + var properties = @params?.Properties; var runOptions = new RunWorkflowOptions { @@ -79,9 +80,9 @@ public class WorkflowHost : IWorkflowHost CorrelationId = correlationId, Input = input, Properties = properties, - TriggerActivityId = options?.TriggerActivityId, - StatusUpdatedCallback = options?.StatusUpdatedCallback, - CancellationTokens = options?.CancellationTokens ?? cancellationToken + TriggerActivityId = @params?.TriggerActivityId, + StatusUpdatedCallback = @params?.StatusUpdatedCallback, + CancellationTokens = @params?.CancellationTokens ?? cancellationToken }; using var scope = _serviceScopeFactory.CreateScope(); @@ -99,7 +100,7 @@ public class WorkflowHost : IWorkflowHost /// /// Resumes the . /// - public async Task ResumeWorkflowAsync(ResumeWorkflowHostOptions? options = default, CancellationToken cancellationToken = default) + public async Task ResumeWorkflowAsync(ResumeWorkflowHostParams? @params = default, CancellationToken cancellationToken = default) { var originalBookmarks = WorkflowState.Bookmarks.ToList(); @@ -110,20 +111,20 @@ public class WorkflowHost : IWorkflowHost } var instanceId = WorkflowState.Id; - var input = options?.Input; + var input = @params?.Input; var runOptions = new RunWorkflowOptions { WorkflowInstanceId = instanceId, - CorrelationId = options?.CorrelationId, - BookmarkId = options?.BookmarkId, - ActivityId = options?.ActivityId, - ActivityNodeId = options?.ActivityNodeId, - ActivityInstanceId = options?.ActivityInstanceId, - ActivityHash = options?.ActivityHash, + CorrelationId = @params?.CorrelationId, + BookmarkId = @params?.BookmarkId, + ActivityId = @params?.ActivityId, + ActivityNodeId = @params?.ActivityNodeId, + ActivityInstanceId = @params?.ActivityInstanceId, + ActivityHash = @params?.ActivityHash, Input = input, - Properties = options?.Properties, - CancellationTokens = options?.CancellationTokens ?? cancellationToken + Properties = @params?.Properties, + CancellationTokens = @params?.CancellationTokens ?? cancellationToken }; using var scope = _serviceScopeFactory.CreateScope(); diff --git a/test/Directory.Build.props b/test/Directory.Build.props index 8c58a1118..77f7b464e 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -8,6 +8,7 @@ enable false true + false diff --git a/test/integration/Elsa.ServiceBus.IntegrationTests/Scenarios/ServiceBus/ServiceBusTests.cs b/test/integration/Elsa.ServiceBus.IntegrationTests/Scenarios/ServiceBus/ServiceBusTests.cs index 9d9cbd6ca..87b877ea6 100644 --- a/test/integration/Elsa.ServiceBus.IntegrationTests/Scenarios/ServiceBus/ServiceBusTests.cs +++ b/test/integration/Elsa.ServiceBus.IntegrationTests/Scenarios/ServiceBus/ServiceBusTests.cs @@ -12,6 +12,7 @@ using Elsa.ServiceBus.IntegrationTests.Scenarios.Workflows; using Elsa.Workflows; using Elsa.Workflows.Runtime.Contracts; using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Microsoft.Extensions.Options; using NSubstitute; using Xunit.Abstractions; @@ -83,7 +84,7 @@ public class ServiceBusTest : IDisposable // Start Workflow const string workflowDefinitionId = nameof(ReceiveMessageWorkflow); - var startWorkflowOptions = new StartWorkflowRuntimeOptions + var startWorkflowOptions = new StartWorkflowRuntimeParams { VersionOptions = Common.Models.VersionOptions.Published }; @@ -151,7 +152,7 @@ public class ServiceBusTest : IDisposable // Start Workflow const string workflowDefinitionId = nameof(ReceiveOneMessageWorkflow); - var startWorkflowOptions = new StartWorkflowRuntimeOptions { VersionOptions = Common.Models.VersionOptions.Published }; + var startWorkflowOptions = new StartWorkflowRuntimeParams { VersionOptions = Common.Models.VersionOptions.Published }; var workflowRuntime = _services.GetRequiredService(); var workflowState = await workflowRuntime.StartWorkflowAsync(workflowDefinitionId, startWorkflowOptions); @@ -222,7 +223,7 @@ public class ServiceBusTest : IDisposable // Start Workflow const string workflowDefinitionId = nameof(SendOneMessageWorkflow); - var startWorkflowOptions = new StartWorkflowRuntimeOptions { VersionOptions = Common.Models.VersionOptions.Published }; + var startWorkflowOptions = new StartWorkflowRuntimeParams { VersionOptions = Common.Models.VersionOptions.Published }; var workflowRuntime = _services.GetRequiredService(); var workflowState = await workflowRuntime.StartWorkflowAsync(workflowDefinitionId, startWorkflowOptions); @@ -287,7 +288,7 @@ public class ServiceBusTest : IDisposable //Start Workflow var workflowDefinitionId = nameof(SendOneMessageWithCorrelationIdWorkflow); - var startWorkflowOptions = new StartWorkflowRuntimeOptions { VersionOptions = Common.Models.VersionOptions.Published }; + var startWorkflowOptions = new StartWorkflowRuntimeParams { VersionOptions = Common.Models.VersionOptions.Published }; var workflowRuntime = _services.GetRequiredService(); var workflowState = await workflowRuntime.StartWorkflowAsync(workflowDefinitionId, startWorkflowOptions); @@ -333,7 +334,7 @@ public class ServiceBusTest : IDisposable // Start Workflow var workflowDefinitionId = nameof(ReceiveMessageWorkflow); - var startWorkflowOptions = new StartWorkflowRuntimeOptions { VersionOptions = Common.Models.VersionOptions.Published }; + var startWorkflowOptions = new StartWorkflowRuntimeParams { VersionOptions = Common.Models.VersionOptions.Published }; var workflowRuntime = _services.GetRequiredService(); var workflowState = await workflowRuntime.StartWorkflowAsync(workflowDefinitionId, startWorkflowOptions); diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs index 0d8e74348..c1faa1927 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForWorkflow.cs index 51cc27db9..9e5937b33 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakForWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileForkWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileForkWorkflow.cs index 407a7e99f..8560760c3 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileForkWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileForkWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileWorkflow.cs index 8bad28e31..3a26ed474 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Break/Workflows/BreakWhileWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishForkedWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishForkedWorkflow.cs index b8fd4abed..4571c33ee 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishForkedWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishForkedWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Runtime.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishSequentialWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishSequentialWorkflow.cs index 40afb1f25..11cc17270 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishSequentialWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishSequentialWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishTests.cs index 9de8dae8a..07d266762 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Finish/FinishTests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Elsa.Workflows.Contracts; using Microsoft.Extensions.DependencyInjection; using Xunit; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs index 98181a4c6..f92d02575 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/NestedForEachWithBreakWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/NestedForEachWithBreakWorkflow.cs index b7a317c08..b65925b3c 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/NestedForEachWithBreakWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/ForEach/NestedForEachWithBreakWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/BasicForkWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/BasicForkWorkflow.cs index dd34157a9..60e606fec 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/BasicForkWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/BasicForkWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/JoinAnyForkWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/JoinAnyForkWorkflow.cs index 9c251722a..125032557 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/JoinAnyForkWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Fork/JoinAnyForkWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Runtime.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/ComplexIfWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/ComplexIfWorkflow.cs index 73938baeb..d11a2cf51 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/ComplexIfWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/ComplexIfWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/IfThenWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/IfThenWorkflow.cs index 4dfd94835..0fd9dc7dd 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/IfThenWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/If/IfThenWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/NestedSequentialWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/NestedSequentialWorkflow.cs index 939f8e260..12b63d146 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/NestedSequentialWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/NestedSequentialWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/SequentialWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/SequentialWorkflow.cs index 0d7a9b7cb..5d9ca1526 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/SequentialWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Activities/Sequence/SequentialWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Workflows.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Workflows.cs index 72e6c791b..66b045757 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Workflows.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Workflows.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumActivity.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumActivity.cs index 90c0acb27..77cd86a26 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumActivity.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumActivity.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Memory; using Elsa.Workflows.Models; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumWorkflow.cs index d4fbe5243..05cb8d94a 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ActivityOutputs/SumWorkflow.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Blocking/Workflows.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Blocking/Workflows.cs index 562af8782..cbdd5704e 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Blocking/Workflows.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Blocking/Workflows.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Runtime.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/BreakWhileFromForkWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/BreakWhileFromForkWorkflow.cs index a093c2162..5765df16d 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/BreakWhileFromForkWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/BreakWhileFromForkWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAllForkWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAllForkWorkflow.cs index c4c435167..f5f34a4b6 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAllForkWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAllForkWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAnyForkWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAnyForkWorkflow.cs index 97c1ecf3d..10d4fa395 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAnyForkWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/BlockingAndBreaking/Workflows/WaitAnyForkWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs index 53451aef4..2da3f0e1a 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs @@ -1,6 +1,5 @@ using Elsa.Expressions.Models; using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Contracts; using Elsa.Workflows.Models; using Elsa.Workflows.Services; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Workflows/MagicWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Workflows/MagicWorkflow.cs index cca331747..07f8f0a9f 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Workflows/MagicWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CanExecute/Workflows/MagicWorkflow.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.IntegrationTests.Scenarios.CanExecute.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Composites/Workflows.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Composites/Workflows.cs index 8cc9ce4e8..99d04435a 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Composites/Workflows.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Composites/Workflows.cs @@ -1,6 +1,5 @@ using Elsa.Extensions; using Elsa.JavaScript.Activities; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs index 30d38e9b4..5a212a85e 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesPassingData/Workflows.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesPassingData/Workflows.cs index afc11d369..b81d5cf43 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesPassingData/Workflows.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/CompositesPassingData/Workflows.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Management.Activities.SetOutput; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs index c9767aeaf..50ea7dd66 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs index 55b219f8b..ac5bf3aeb 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs index 5e410a004..500db4b16 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; namespace Elsa.Workflows.IntegrationTests.Scenarios.FlowchartNextActivity.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Workflows/FlowchartWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Workflows/FlowchartWorkflow.cs index b9c5102f9..34a089367 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Workflows/FlowchartWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/FlowchartNextActivity/Workflows/FlowchartWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Activities.Flowchart.Activities; using Elsa.Workflows.Activities.Flowchart.Models; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs index 842d78398..05edf21a1 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Elsa.Workflows.Contracts; using Elsa.Workflows.IntegrationTests.Scenarios.ImplicitJoins.Workflows; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs index ed5511d91..2e24cace0 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Elsa.Workflows.Contracts; using Elsa.Workflows.IntegrationTests.Scenarios.ImplicitJoins.Workflows; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/BraidedWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/BraidedWorkflow.cs index 103c76f2e..a34fa9679 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/BraidedWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/BraidedWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Activities.Flowchart.Activities; using Elsa.Workflows.Activities.Flowchart.Models; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/ImplicitLoopWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/ImplicitLoopWorkflow.cs index 9b4f60488..647f9a44f 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/ImplicitLoopWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ImplicitJoins/Workflows/ImplicitLoopWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Activities.Flowchart.Activities; using Elsa.Workflows.Activities.Flowchart.Models; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs index fc1f09fa6..f02d8561f 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Elsa.Workflows.IncidentStrategies; using Elsa.Workflows.IntegrationTests.Scenarios.Incidents.Statics; using Elsa.Workflows.IntegrationTests.Scenarios.Incidents.Workflows; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/Workflows/FaultyWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/Workflows/FaultyWorkflow.cs index c43bc08b1..ab175d157 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/Workflows/FaultyWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/Incidents/Workflows/FaultyWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Activities.Flowchart.Activities; using Elsa.Workflows.Activities.Flowchart.Models; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/JsonObjectProducer.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/JsonObjectProducer.cs index 260257514..8e6e502f0 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/JsonObjectProducer.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/JsonObjectProducer.cs @@ -1,6 +1,5 @@ using System.Text.Json.Nodes; using Elsa.Extensions; -using Elsa.Workflows; namespace Elsa.Workflows.IntegrationTests.Scenarios.JsonObjectToObjectRemainsJsonObject.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/ObjectProcessor.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/ObjectProcessor.cs index 72714c991..72e809694 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/ObjectProcessor.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Activities/ObjectProcessor.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Models; namespace Elsa.Workflows.IntegrationTests.Scenarios.JsonObjectToObjectRemainsJsonObject.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Workflows/TestWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Workflows/TestWorkflow.cs index eb06a247c..d07e8a6fa 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Workflows/TestWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Workflows/TestWorkflow.cs @@ -1,7 +1,6 @@ using System.Text.Json.Nodes; using Elsa.Expressions.Models; using Elsa.JavaScript.Models; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.IntegrationTests.Scenarios.JsonObjectToObjectRemainsJsonObject.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs index 498500a33..f1ec4ac68 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs @@ -1,5 +1,4 @@ using Elsa.Testing.Shared; -using Elsa.Workflows; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs index 91df3d6d8..0ca40fd9f 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/CreateVariableActivity.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/CreateVariableActivity.cs index bb2570401..2647f05a1 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/CreateVariableActivity.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/CreateVariableActivity.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; namespace Elsa.Workflows.IntegrationTests.Scenarios.SetGetVariablesFromActivities.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/ReadVariableActivity.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/ReadVariableActivity.cs index 476738204..5aa1319d9 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/ReadVariableActivity.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Activities/ReadVariableActivity.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; namespace Elsa.Workflows.IntegrationTests.Scenarios.SetGetVariablesFromActivities.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Workflows/SampleWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Workflows/SampleWorkflow.cs index 171f89f9f..a827a5e67 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Workflows/SampleWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Workflows/SampleWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.IntegrationTests.Scenarios.SetGetVariablesFromActivities.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs index 726fcacd2..7c5f4da6e 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs @@ -1,11 +1,10 @@ using Elsa.Mediator.HostedServices; using Elsa.Mediator.Options; using Elsa.Testing.Shared; -using Elsa.Workflows; using Elsa.Workflows.IntegrationTests.Scenarios.WorkflowCancellation.Workflows; using Elsa.Workflows.Models; using Elsa.Workflows.Runtime.Contracts; -using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Xunit; @@ -13,6 +12,9 @@ using Xunit.Abstractions; namespace Elsa.Workflows.IntegrationTests.Scenarios.WorkflowCancellation; +/// +/// Represents a class containing unit tests for the DefaultRuntime class. +/// public class DefaultRuntimeTests { private readonly IServiceProvider _services; @@ -22,6 +24,9 @@ public class DefaultRuntimeTests private readonly BackgroundCommandSenderHostedService _backgroundCommandSenderHostedService; private readonly BackgroundEventPublisherHostedService _backgroundEventPublisherHostedService; + /// + /// Initializes a new instance of the class. + /// public DefaultRuntimeTests(ITestOutputHelper testOutputHelper) { _services = new TestApplicationBuilder(testOutputHelper) @@ -59,7 +64,7 @@ public class DefaultRuntimeTests await _services.PopulateRegistriesAsync(); const string workflowDefinitionId = nameof(SimpleSuspendedWorkflow); - var workflowState = await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeOptions()); + var workflowState = await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeParams()); Assert.Equal(WorkflowStatus.Running, workflowState.Status); Assert.Equal(WorkflowSubStatus.Suspended, workflowState.SubStatus); @@ -83,10 +88,10 @@ public class DefaultRuntimeTests await _services.PopulateRegistriesAsync(); const string workflowDefinitionId = nameof(BulkSuspendedWorkflow); - var workflowState = await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeOptions()); + var workflowState = await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeParams()); var bookmarks = new Stack(workflowState.Bookmarks); - var resumeOptions = new ResumeWorkflowRuntimeOptions + var resumeOptions = new ResumeWorkflowRuntimeParams { BookmarkId = bookmarks.Pop().Id }; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs index 8338d7c00..9f26eb960 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs @@ -6,15 +6,15 @@ using Elsa.Testing.Shared; using Elsa.Workflows.IntegrationTests.Scenarios.WorkflowCancellation.Workflows; using Elsa.Workflows.Models; using Elsa.Workflows.Runtime.Contracts; -using Elsa.Workflows.Runtime.Options; +using Elsa.Workflows.Runtime.Parameters; using Microsoft.Data.Sqlite; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Proto.Persistence.Sqlite; using Xunit; using Xunit.Abstractions; -using WorkflowStatus = Elsa.Workflows.WorkflowStatus; -using WorkflowSubStatus = Elsa.Workflows.WorkflowSubStatus; + +#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member namespace Elsa.Workflows.IntegrationTests.Scenarios.WorkflowCancellation; @@ -77,7 +77,7 @@ public class ProtoActorTests await _workflowServerHost.StartAsync(default); const string workflowDefinitionId = nameof(SimpleSuspendedWorkflow); var workflowState = - await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeOptions()); + await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeParams()); Assert.Equal(WorkflowStatus.Running, workflowState.Status); Assert.Equal(WorkflowSubStatus.Suspended, workflowState.SubStatus); @@ -91,8 +91,7 @@ public class ProtoActorTests Assert.Empty(_capturingTextWriter.Lines); } - [Fact(DisplayName = "Cancelling a running workflow", - Skip = "Unpredictable result, need to create a dispatcher for tests that will run outside of the unit test")] + [Fact(DisplayName = "Cancelling a running workflow", Skip = "Unpredictable result, need to create a dispatcher for tests that will run outside of the unit test")] public async Task RunningCancelTest() { // Populate registries. @@ -103,10 +102,10 @@ public class ProtoActorTests const string workflowDefinitionId = nameof(BulkSuspendedWorkflow); var workflowState = - await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeOptions()); + await _workflowRuntime.StartWorkflowAsync(workflowDefinitionId, new StartWorkflowRuntimeParams()); var bookmarks = new Stack(workflowState.Bookmarks); - var resumeOptions = new ResumeWorkflowRuntimeOptions + var resumeOptions = new ResumeWorkflowRuntimeParams { BookmarkId = bookmarks.Pop().Id }; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs index f5888ee48..e494a0f94 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs @@ -1,5 +1,4 @@ using Elsa.Scheduling.Activities; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Runtime.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/ResumeDispatchWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/ResumeDispatchWorkflow.cs index c524fa10f..447e896fb 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/ResumeDispatchWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/ResumeDispatchWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Models; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleChildWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleChildWorkflow.cs index 50938a966..c4e4aee65 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleChildWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleChildWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleSuspendedWorkflow.cs b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleSuspendedWorkflow.cs index 466c07eb5..d1f040efb 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleSuspendedWorkflow.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/SimpleSuspendedWorkflow.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Runtime.Activities; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Serialization/ProgrammaticWorkflowsAndDelegates/Workflows.cs b/test/integration/Elsa.Workflows.IntegrationTests/Serialization/ProgrammaticWorkflowsAndDelegates/Workflows.cs index e708c97f3..cdfff28d8 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Serialization/ProgrammaticWorkflowsAndDelegates/Workflows.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Serialization/ProgrammaticWorkflowsAndDelegates/Workflows.cs @@ -1,5 +1,4 @@ using Elsa.Extensions; -using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableExpressions/Tests.cs b/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableExpressions/Tests.cs index 71068a82e..0c4a97d0d 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableExpressions/Tests.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableExpressions/Tests.cs @@ -1,7 +1,6 @@ using Elsa.Extensions; using Elsa.Testing.Shared; using Elsa.Workflows.Activities; -using Elsa.Workflows.Activities.Flowchart.Activities; using Elsa.Workflows.Contracts; using Elsa.Workflows.Management.Contracts; using Elsa.Workflows.Memory; diff --git a/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableTypes/Workflows.cs b/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableTypes/Workflows.cs index f4eb579a2..dc19f8ccf 100644 --- a/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableTypes/Workflows.cs +++ b/test/integration/Elsa.Workflows.IntegrationTests/Serialization/VariableTypes/Workflows.cs @@ -1,4 +1,3 @@ -using Elsa.Workflows; using Elsa.Workflows.Contracts; namespace Elsa.Workflows.IntegrationTests.Serialization.VariableTypes;