From 0038702dd88534c296d6490ff60a378d980ed9db Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sat, 14 Nov 2020 17:46:25 +0100 Subject: [PATCH] Fix gRPC serialization --- .../Converters/VersionOptionsConverter.cs | 1 - src/clients/Elsa.Client/Elsa.Client.csproj | 1 + .../Elsa.Client/Models/ActivityDescriptor.cs | 19 ++++---- .../Models/ActivityPropertyDescriptor.cs | 12 ++--- src/clients/Elsa.Client/Models/List.cs | 1 - .../ElsaDashboard.Application.Server.csproj | 1 + .../Pages/Error.cshtml.cs | 4 -- .../Program.cs | 2 +- .../Startup.cs | 5 +-- .../ElsaDashboard.Application/App.razor | 1 - .../Pages/Designer/ActivityPicker.razor.cs | 4 +- .../Shared/FlyoutPanel.razor | 14 ++---- .../ApplicationBuilderExtensions.cs | 3 +- .../Extensions/ServiceCollectionExtensions.cs | 4 ++ .../Rpc/ActivityService.cs | 9 ++-- .../ElsaDashboard.Shared.csproj | 1 + .../Rpc/IActivityService.cs | 22 +++++++-- .../Surrogates/JTokenSurrogate.cs | 45 +++++++++++++++++++ .../Surrogates/RuntimeTypeModelExtensions.cs | 29 ++++++++++++ .../Extensions/ServiceCollectionExtensions.cs | 3 ++ .../Endpoints/Activities/List.cs | 4 -- .../Endpoints/WorkflowDefinitions/Post.cs | 1 - .../Elsa.Server.Api/Models/PagedList.cs | 1 - .../StorageWorkflowProviderTests.cs | 1 - .../Workflows/BasicWorkflowTests.cs | 1 - .../Workflows/FinishWorkflowTests.cs | 1 - .../Workflows/ForEachWorkflowTests.cs | 1 - .../Workflows/ForLoopWorkflowTests.cs | 1 - .../Workflows/ForkJoinWorkflowTests.cs | 1 - .../Workflows/IfElseWorkflowTests.cs | 1 - .../Workflows/ParallelForEachWorkflowTests.cs | 1 - .../Workflows/SwitchWorkflowTests.cs | 1 - .../Workflows/WhileWorkflowTests.cs | 1 - 33 files changed, 134 insertions(+), 63 deletions(-) create mode 100644 src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/JTokenSurrogate.cs create mode 100644 src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/RuntimeTypeModelExtensions.cs diff --git a/src/clients/Elsa.Client/Converters/VersionOptionsConverter.cs b/src/clients/Elsa.Client/Converters/VersionOptionsConverter.cs index 500106273..7bb170c7a 100644 --- a/src/clients/Elsa.Client/Converters/VersionOptionsConverter.cs +++ b/src/clients/Elsa.Client/Converters/VersionOptionsConverter.cs @@ -1,5 +1,4 @@ using System; -using System.Text.Json; using Elsa.Client.Models; using Newtonsoft.Json; using JsonSerializer = Newtonsoft.Json.JsonSerializer; diff --git a/src/clients/Elsa.Client/Elsa.Client.csproj b/src/clients/Elsa.Client/Elsa.Client.csproj index d7baa46e7..a4cf7d723 100644 --- a/src/clients/Elsa.Client/Elsa.Client.csproj +++ b/src/clients/Elsa.Client/Elsa.Client.csproj @@ -21,6 +21,7 @@ + diff --git a/src/clients/Elsa.Client/Models/ActivityDescriptor.cs b/src/clients/Elsa.Client/Models/ActivityDescriptor.cs index 469ced529..b2af34af7 100644 --- a/src/clients/Elsa.Client/Models/ActivityDescriptor.cs +++ b/src/clients/Elsa.Client/Models/ActivityDescriptor.cs @@ -1,16 +1,17 @@ -using System; +using ProtoBuf; namespace Elsa.Client.Models { + [ProtoContract] public class ActivityDescriptor { - public string Type { get; set; } = default!; - public string DisplayName { get; set; } = default!; - public string? Description { get; set; } - public string? RuntimeDescription { get; set; } - public string Category { get; set; } = default!; - public string? Icon { get; set; } - public string[] Outcomes { get; set; } = new string[0]; - public ActivityPropertyDescriptor[] Properties { get; set; } = new ActivityPropertyDescriptor[0]; + [ProtoMember(1)] public string Type { get; set; } = default!; + [ProtoMember(2)] public string DisplayName { get; set; } = default!; + [ProtoMember(3)] public string? Description { get; set; } + [ProtoMember(4)] public string? RuntimeDescription { get; set; } + [ProtoMember(5)] public string Category { get; set; } = default!; + [ProtoMember(6)] public string? Icon { get; set; } + [ProtoMember(7)] public string[] Outcomes { get; set; } = new string[0]; + [ProtoMember(8)] public ActivityPropertyDescriptor[] Properties { get; set; } = new ActivityPropertyDescriptor[0]; } } \ No newline at end of file diff --git a/src/clients/Elsa.Client/Models/ActivityPropertyDescriptor.cs b/src/clients/Elsa.Client/Models/ActivityPropertyDescriptor.cs index 57e3b4091..f85acf14c 100644 --- a/src/clients/Elsa.Client/Models/ActivityPropertyDescriptor.cs +++ b/src/clients/Elsa.Client/Models/ActivityPropertyDescriptor.cs @@ -1,13 +1,15 @@ using Newtonsoft.Json.Linq; +using ProtoBuf; namespace Elsa.Client.Models { + [ProtoContract(IgnoreListHandling = true)] public class ActivityPropertyDescriptor { - public string Name { get; } = default!; - public string Type { get; } = default!; - public string? Label { get; set; } - public string? Hint { get; set;} - public JObject? Options { get; set;} + [ProtoMember(1)] public string Name { get; } = default!; + [ProtoMember(2)] public string Type { get; } = default!; + [ProtoMember(3)] public string? Label { get; set; } + [ProtoMember(4)] public string? Hint { get; set; } + [ProtoMember(5)] public JObject? Options { get; set; } } } \ No newline at end of file diff --git a/src/clients/Elsa.Client/Models/List.cs b/src/clients/Elsa.Client/Models/List.cs index 0c0f8e614..58f96f0a5 100644 --- a/src/clients/Elsa.Client/Models/List.cs +++ b/src/clients/Elsa.Client/Models/List.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Linq; namespace Elsa.Client.Models { diff --git a/src/dashboards/blazor/ElsaDashboard.Application.Server/ElsaDashboard.Application.Server.csproj b/src/dashboards/blazor/ElsaDashboard.Application.Server/ElsaDashboard.Application.Server.csproj index 514e369d1..68ed790d4 100644 --- a/src/dashboards/blazor/ElsaDashboard.Application.Server/ElsaDashboard.Application.Server.csproj +++ b/src/dashboards/blazor/ElsaDashboard.Application.Server/ElsaDashboard.Application.Server.csproj @@ -11,6 +11,7 @@ + diff --git a/src/dashboards/blazor/ElsaDashboard.Application.Server/Pages/Error.cshtml.cs b/src/dashboards/blazor/ElsaDashboard.Application.Server/Pages/Error.cshtml.cs index 8f7722284..5737afec1 100644 --- a/src/dashboards/blazor/ElsaDashboard.Application.Server/Pages/Error.cshtml.cs +++ b/src/dashboards/blazor/ElsaDashboard.Application.Server/Pages/Error.cshtml.cs @@ -1,11 +1,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; using System.Diagnostics; -using System.Linq; -using System.Threading.Tasks; namespace ElsaDashboard.Application.Server.Pages { diff --git a/src/dashboards/blazor/ElsaDashboard.Application.Server/Program.cs b/src/dashboards/blazor/ElsaDashboard.Application.Server/Program.cs index bc2d0939f..a50b1f038 100644 --- a/src/dashboards/blazor/ElsaDashboard.Application.Server/Program.cs +++ b/src/dashboards/blazor/ElsaDashboard.Application.Server/Program.cs @@ -6,7 +6,7 @@ namespace ElsaDashboard.Application.Server { public class Program { - public static bool UseBlazorServer = true; + public static bool UseBlazorServer = false; public static bool UseBlazorWebAssembly => !UseBlazorServer; public static RenderMode RenderMode => UseBlazorServer ? RenderMode.ServerPrerendered: RenderMode.WebAssemblyPrerendered; diff --git a/src/dashboards/blazor/ElsaDashboard.Application.Server/Startup.cs b/src/dashboards/blazor/ElsaDashboard.Application.Server/Startup.cs index cbd9c5522..f4d216597 100644 --- a/src/dashboards/blazor/ElsaDashboard.Application.Server/Startup.cs +++ b/src/dashboards/blazor/ElsaDashboard.Application.Server/Startup.cs @@ -44,18 +44,17 @@ namespace ElsaDashboard.Application.Server app.UseHsts(); } - app.UseHttpsRedirection(); - if(Program.UseBlazorWebAssembly) app.UseBlazorFrameworkFiles(); app.UseStaticFiles(); app.UseRouting(); - app.UserElsaGrpcServices(); + app.UseElsaGrpcServices(); app.UseEndpoints(endpoints => { if(Program.UseBlazorServer) endpoints.MapBlazorHub(); + endpoints.MapFallbackToPage("/_Host"); }); } diff --git a/src/dashboards/blazor/ElsaDashboard.Application/App.razor b/src/dashboards/blazor/ElsaDashboard.Application/App.razor index d6a0d4278..1dd72e7c1 100644 --- a/src/dashboards/blazor/ElsaDashboard.Application/App.razor +++ b/src/dashboards/blazor/ElsaDashboard.Application/App.razor @@ -1,4 +1,3 @@ -@using ElsaDashboard.Application.Models diff --git a/src/dashboards/blazor/ElsaDashboard.Application/Pages/Designer/ActivityPicker.razor.cs b/src/dashboards/blazor/ElsaDashboard.Application/Pages/Designer/ActivityPicker.razor.cs index b11946432..b023a9fc6 100644 --- a/src/dashboards/blazor/ElsaDashboard.Application/Pages/Designer/ActivityPicker.razor.cs +++ b/src/dashboards/blazor/ElsaDashboard.Application/Pages/Designer/ActivityPicker.razor.cs @@ -14,8 +14,8 @@ namespace ElsaDashboard.Application.Pages.Designer protected override async Task OnInitializedAsync() { - var activities = (await ActivityService.GetActivitiesAsync()).ToList(); - ActivityGroupings = activities.GroupBy(x => x.Category).ToList(); + var response = (await ActivityService.GetActivitiesAsync()); + ActivityGroupings = response.Activities.GroupBy(x => x.Category).ToList(); } } } \ No newline at end of file diff --git a/src/dashboards/blazor/ElsaDashboard.Application/Shared/FlyoutPanel.razor b/src/dashboards/blazor/ElsaDashboard.Application/Shared/FlyoutPanel.razor index 671975ba2..c591dcf70 100644 --- a/src/dashboards/blazor/ElsaDashboard.Application/Shared/FlyoutPanel.razor +++ b/src/dashboards/blazor/ElsaDashboard.Application/Shared/FlyoutPanel.razor @@ -1,4 +1,4 @@ -
+
@@ -15,15 +15,9 @@ }
-
diff --git a/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ApplicationBuilderExtensions.cs b/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ApplicationBuilderExtensions.cs index a5cc1dc6e..9ec6e53ad 100644 --- a/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ApplicationBuilderExtensions.cs +++ b/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ApplicationBuilderExtensions.cs @@ -5,9 +5,10 @@ namespace ElsaDashboard.Backend.Extensions { public static class ApplicationBuilderExtensions { - public static IApplicationBuilder UserElsaGrpcServices(this IApplicationBuilder app) + public static IApplicationBuilder UseElsaGrpcServices(this IApplicationBuilder app) { return app + .UseCors() .UseGrpcWeb() .UseEndpoints(endpoints => endpoints .MapGrpcEndpoint() diff --git a/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ServiceCollectionExtensions.cs b/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ServiceCollectionExtensions.cs index 7ec85f37e..0f8833a1f 100644 --- a/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ServiceCollectionExtensions.cs +++ b/src/dashboards/blazor/ElsaDashboard.Backend/Extensions/ServiceCollectionExtensions.cs @@ -4,8 +4,10 @@ using Elsa.Client.Extensions; using Elsa.Client.Options; using ElsaDashboard.Backend.Rpc; using ElsaDashboard.Shared.Rpc; +using ElsaDashboard.Shared.Surrogates; using Microsoft.Extensions.DependencyInjection; using ProtoBuf.Grpc.Server; +using ProtoBuf.Meta; namespace ElsaDashboard.Backend.Extensions { @@ -13,6 +15,8 @@ namespace ElsaDashboard.Backend.Extensions { public static IServiceCollection AddElsaDashboardBackend(this IServiceCollection services, Action? configure = default) { + RuntimeTypeModel.Default.AddElsaGrpcSurrogates(); + services.AddCors(); services.AddElsaClient(configure); services.AddCodeFirstGrpc(options => options.ResponseCompressionLevel = CompressionLevel.Optimal); services.AddScoped(); diff --git a/src/dashboards/blazor/ElsaDashboard.Backend/Rpc/ActivityService.cs b/src/dashboards/blazor/ElsaDashboard.Backend/Rpc/ActivityService.cs index d89c45564..016c0191c 100644 --- a/src/dashboards/blazor/ElsaDashboard.Backend/Rpc/ActivityService.cs +++ b/src/dashboards/blazor/ElsaDashboard.Backend/Rpc/ActivityService.cs @@ -1,8 +1,5 @@ -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; +using System.Threading.Tasks; using Elsa.Client; -using Elsa.Client.Models; using ElsaDashboard.Shared.Rpc; using ProtoBuf.Grpc; @@ -17,10 +14,10 @@ namespace ElsaDashboard.Backend.Rpc _elsaClient = elsaClient; } - public async Task> GetActivitiesAsync(CallContext callContext) + public async Task GetActivitiesAsync(CallContext callContext) { var result = await _elsaClient.Activities.ListAsync(callContext.CancellationToken); - return result.Items; + return new GetActivitiesResponse(result.Items); } } } \ No newline at end of file diff --git a/src/dashboards/blazor/ElsaDashboard.Shared/ElsaDashboard.Shared.csproj b/src/dashboards/blazor/ElsaDashboard.Shared/ElsaDashboard.Shared.csproj index e437d8668..fc78967e5 100644 --- a/src/dashboards/blazor/ElsaDashboard.Shared/ElsaDashboard.Shared.csproj +++ b/src/dashboards/blazor/ElsaDashboard.Shared/ElsaDashboard.Shared.csproj @@ -5,6 +5,7 @@ + diff --git a/src/dashboards/blazor/ElsaDashboard.Shared/Rpc/IActivityService.cs b/src/dashboards/blazor/ElsaDashboard.Shared/Rpc/IActivityService.cs index 9c55dc9db..0faf8c4f1 100644 --- a/src/dashboards/blazor/ElsaDashboard.Shared/Rpc/IActivityService.cs +++ b/src/dashboards/blazor/ElsaDashboard.Shared/Rpc/IActivityService.cs @@ -1,5 +1,5 @@ using System.Collections.Generic; -using System.Threading; +using System.ServiceModel; using System.Threading.Tasks; using Elsa.Client.Models; using ProtoBuf; @@ -8,9 +8,25 @@ using ProtoBuf.ServiceModel; namespace ElsaDashboard.Shared.Rpc { - [ProtoContract] + [ServiceContract] public interface IActivityService { - [ProtoBehavior]Task> GetActivitiesAsync(CallContext context = default); + [ProtoBehavior] + Task GetActivitiesAsync(CallContext context = default); + } + + [ProtoContract] + public sealed class GetActivitiesResponse + { + public GetActivitiesResponse() + { + } + + public GetActivitiesResponse(IEnumerable activities) + { + Activities = activities; + } + + [ProtoMember(1)] public IEnumerable Activities { get; set; } = new System.Collections.Generic.List(); } } \ No newline at end of file diff --git a/src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/JTokenSurrogate.cs b/src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/JTokenSurrogate.cs new file mode 100644 index 000000000..003ffa866 --- /dev/null +++ b/src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/JTokenSurrogate.cs @@ -0,0 +1,45 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using NodaTime; +using NodaTime.Serialization.JsonNet; +using ProtoBuf; + +namespace ElsaDashboard.Shared.Surrogates +{ + /// + /// Surrogate for . + /// + [ProtoContract(IgnoreListHandling = true)] + public class JTokenSurrogate + { + private static readonly JsonSerializerSettings SerializerSettings; + + /// + /// Default constructor. + /// + static JTokenSurrogate() + { + SerializerSettings = new JsonSerializerSettings().ConfigureForNodaTime(DateTimeZoneProviders.Tzdb); + } + + /// + /// Constructor overload. + /// + public JTokenSurrogate(JToken value) => Value = JsonConvert.SerializeObject(value, SerializerSettings); + + /// + /// Stores the Google Protobuf Any value for serialization. + /// + public string Value { get; set; } = default!; + + /// + /// Converts the surrogate to a . + /// + public static implicit operator JToken(JTokenSurrogate surrogate) => JsonConvert.DeserializeObject(surrogate.Value, SerializerSettings); + + /// + /// Converts the to a surrogate. + /// + public static implicit operator JTokenSurrogate(JToken source) => new(source); + } +} \ No newline at end of file diff --git a/src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/RuntimeTypeModelExtensions.cs b/src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/RuntimeTypeModelExtensions.cs new file mode 100644 index 000000000..b3ebf5afc --- /dev/null +++ b/src/dashboards/blazor/ElsaDashboard.Shared/Surrogates/RuntimeTypeModelExtensions.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using ProtoBuf.Meta; + +namespace ElsaDashboard.Shared.Surrogates +{ + /// + /// Provides an extension method to conveniently register surrogate types with the default . + /// + public static class RuntimeTypeModelExtensions + { + private static readonly IDictionary SurrogateMapping = new Dictionary + { + [typeof(JToken)] = typeof(JTokenSurrogate) + }; + + /// + /// Register all NodaTime surrogate types with the protobuf runtime model. + /// + public static RuntimeTypeModel AddElsaGrpcSurrogates(this RuntimeTypeModel runtimeTypeModel) + { + foreach (var map in SurrogateMapping) + runtimeTypeModel.Add(map.Key, false).SetSurrogate(map.Value); + + return runtimeTypeModel; + } + } +} \ No newline at end of file diff --git a/src/dashboards/blazor/ElsaDashboard.WebAssembly/Extensions/ServiceCollectionExtensions.cs b/src/dashboards/blazor/ElsaDashboard.WebAssembly/Extensions/ServiceCollectionExtensions.cs index 657fcd7d5..b995c1b7c 100644 --- a/src/dashboards/blazor/ElsaDashboard.WebAssembly/Extensions/ServiceCollectionExtensions.cs +++ b/src/dashboards/blazor/ElsaDashboard.WebAssembly/Extensions/ServiceCollectionExtensions.cs @@ -1,5 +1,7 @@ using ElsaDashboard.Shared.Rpc; +using ElsaDashboard.Shared.Surrogates; using Microsoft.Extensions.DependencyInjection; +using ProtoBuf.Meta; namespace ElsaDashboard.WebAssembly.Extensions { @@ -7,6 +9,7 @@ namespace ElsaDashboard.WebAssembly.Extensions { public static IServiceCollection AddElsaDashboardBackend(this IServiceCollection services) { + RuntimeTypeModel.Default.AddElsaGrpcSurrogates(); return services .AddGrpcClient() .AddGrpcClient(); diff --git a/src/server/Elsa.Server.Api/Endpoints/Activities/List.cs b/src/server/Elsa.Server.Api/Endpoints/Activities/List.cs index adf7b4860..bd2a050c2 100644 --- a/src/server/Elsa.Server.Api/Endpoints/Activities/List.cs +++ b/src/server/Elsa.Server.Api/Endpoints/Activities/List.cs @@ -1,14 +1,10 @@ using System.Collections.Generic; using System.Linq; using Elsa.Metadata; -using Elsa.Models; -using Elsa.Server.Api.Models; -using Elsa.Server.Api.Swagger; using Elsa.Services; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Swashbuckle.AspNetCore.Annotations; -using Swashbuckle.AspNetCore.Filters; namespace Elsa.Server.Api.Endpoints.Activities { diff --git a/src/server/Elsa.Server.Api/Endpoints/WorkflowDefinitions/Post.cs b/src/server/Elsa.Server.Api/Endpoints/WorkflowDefinitions/Post.cs index 0565b4f11..7e023cbd8 100644 --- a/src/server/Elsa.Server.Api/Endpoints/WorkflowDefinitions/Post.cs +++ b/src/server/Elsa.Server.Api/Endpoints/WorkflowDefinitions/Post.cs @@ -1,7 +1,6 @@ using System.Threading; using System.Threading.Tasks; using Elsa.Models; -using Elsa.Server.Api.Models; using Elsa.Server.Api.Swagger; using Elsa.Services; using Microsoft.AspNetCore.Http; diff --git a/src/server/Elsa.Server.Api/Models/PagedList.cs b/src/server/Elsa.Server.Api/Models/PagedList.cs index e36699d26..352fe2b33 100644 --- a/src/server/Elsa.Server.Api/Models/PagedList.cs +++ b/src/server/Elsa.Server.Api/Models/PagedList.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Linq; namespace Elsa.Server.Api.Models { diff --git a/test/integration/Elsa.Core.IntegrationTests/StorageProvider/StorageWorkflowProviderTests.cs b/test/integration/Elsa.Core.IntegrationTests/StorageProvider/StorageWorkflowProviderTests.cs index ee98ee857..63568b7a4 100644 --- a/test/integration/Elsa.Core.IntegrationTests/StorageProvider/StorageWorkflowProviderTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/StorageProvider/StorageWorkflowProviderTests.cs @@ -2,7 +2,6 @@ using System.Threading.Tasks; using Elsa.Core.IntegrationTests.Helpers; using Elsa.Models; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Microsoft.Extensions.DependencyInjection; using Storage.Net.Blobs; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/BasicWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/BasicWorkflowTests.cs index b4712a964..8e3a9d810 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/BasicWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/BasicWorkflowTests.cs @@ -1,6 +1,5 @@ using System.Threading.Tasks; using Elsa.Models; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/FinishWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/FinishWorkflowTests.cs index 82d6fd93d..b75aef291 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/FinishWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/FinishWorkflowTests.cs @@ -1,7 +1,6 @@ using System.Threading.Tasks; using AutoFixture; using Elsa.Models; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/ForEachWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/ForEachWorkflowTests.cs index dd1b3f45c..f4e75eb23 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/ForEachWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/ForEachWorkflowTests.cs @@ -1,7 +1,6 @@ using System.Linq; using System.Threading.Tasks; using Elsa.Models; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/ForLoopWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/ForLoopWorkflowTests.cs index 9f4daad18..48e322a74 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/ForLoopWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/ForLoopWorkflowTests.cs @@ -1,6 +1,5 @@ using System.Linq; using System.Threading.Tasks; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/ForkJoinWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/ForkJoinWorkflowTests.cs index 8735e84a3..bff37a2dd 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/ForkJoinWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/ForkJoinWorkflowTests.cs @@ -5,7 +5,6 @@ using Elsa.Activities.Signaling; using Elsa.Activities.Signaling.Models; using Elsa.Models; using Elsa.Services.Models; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/IfElseWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/IfElseWorkflowTests.cs index c82354260..72d06270a 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/IfElseWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/IfElseWorkflowTests.cs @@ -1,6 +1,5 @@ using System.Linq; using System.Threading.Tasks; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/ParallelForEachWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/ParallelForEachWorkflowTests.cs index 0e06afca5..725a68a36 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/ParallelForEachWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/ParallelForEachWorkflowTests.cs @@ -1,7 +1,6 @@ using System.Linq; using System.Threading.Tasks; using Elsa.Models; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/SwitchWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/SwitchWorkflowTests.cs index 9f965057a..2795cf650 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/SwitchWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/SwitchWorkflowTests.cs @@ -1,6 +1,5 @@ using System.Linq; using System.Threading.Tasks; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.Core.IntegrationTests/Workflows/WhileWorkflowTests.cs b/test/integration/Elsa.Core.IntegrationTests/Workflows/WhileWorkflowTests.cs index b33af513a..7e52d202b 100644 --- a/test/integration/Elsa.Core.IntegrationTests/Workflows/WhileWorkflowTests.cs +++ b/test/integration/Elsa.Core.IntegrationTests/Workflows/WhileWorkflowTests.cs @@ -1,6 +1,5 @@ using System.Linq; using System.Threading.Tasks; -using Elsa.Testing.Shared.Helpers; using Elsa.Testing.Shared.Unit; using Xunit; using Xunit.Abstractions;