From fb2f0f027169011ba864d1e5455ff2c44098f96b Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 5 Feb 2024 21:39:49 +0100 Subject: [PATCH] Update InputJsonConverter to deserialize complex value types into their original type (#4878) * Remove unused using directives in test classes The using directives for System, System.Collections.Generic, System.IO, and others were not necessary in many of the test classes. These unused directives have been removed to enhance code readability and maintainability. * Update source port retrieval in ConnectionJsonConverter The source port retrieval code in ConnectionJsonConverter.cs has been updated. It now uses TryGetProperty instead of GetProperty, enabling it to handle cases where the "port" property may not exist. This enhances error handling and resilience in the activities module. * Refactor InputJsonConverter for proper variable expressions handling The InputJsonConverter in the Elsa.Workflows.Serialization has been expanded for efficient handling of variable expressions during the JSON conversion process. The refactor ensures appropriate extraction and assignment of values to variables. This adds robustness to the serialization process, maintaining variable types after serialization. * Add tests for variable expressions serialization A new `Tests.cs` file has been added under the `Elsa.IntegrationTests/Serialization/VariableExpressions` directory. This file contains tests for ensuring the serialization of variable expressions works correctly. A corresponding `SampleWorkflow` file has also been established, providing the workflows to be used in the tests. * Refactor workflow builder extension class The WorkflowDefinitionBuilderExtensions class has been deleted and replaced with WorkflowBuilderExtensions in Elsa.Workflows.Core. This new class retains similar functionality but includes more detailed comments and dynamic member access capabilities in its method definition. --- Elsa.sln | 1 - .../Serialization/ConnectionJsonConverter.cs | 2 +- .../Extensions/WorkflowBuilderExtensions.cs | 26 ++++++++++++ .../WorkflowDefinitionBuilderExtensions.cs | 10 ----- .../Converters/InputJsonConverter.cs | 13 ++++-- .../Activities/Break/BreakTests.cs | 3 -- .../Break/Workflows/BreakForEachWorkflow.cs | 1 - .../Activities/Finish/FinishTests.cs | 3 -- .../Activities/ForEach/ForEachTests.cs | 3 -- .../Activities/ForEach/ForEachWorkflow.cs | 1 - .../Activities/Fork/ForkTests.cs | 3 -- .../Activities/If/ComplexIfWorkflow.cs | 1 - .../Activities/If/IfTests.cs | 3 -- .../Activities/If/IfThenWorkflow.cs | 1 - .../Activities/Sequence/SequenceTests.cs | 3 -- .../Activities/WriteLine/WriteLineTests.cs | 3 -- .../TestHandler.cs | 2 - .../ActivityNotificationsMiddleware/Tests.cs | 1 - .../Scenarios/ActivityOutputs/Tests.cs | 3 -- .../Scenarios/Blocking/Tests.cs | 3 -- .../Scenarios/BlockingAndBreaking/Tests.cs | 3 -- .../CanExecute/Activities/CustomActivity.cs | 1 - .../Scenarios/CanExecute/Tests.cs | 4 -- .../Scenarios/Composites/Tests.cs | 3 -- .../CompositesAndOutcomeWaitAnyTests.cs | 3 -- .../Scenarios/CompositesPassingData/Tests.cs | 3 -- .../Scenarios/DependencyWorkflows/Tests.cs | 5 +-- .../ExplicitJoins/ExplicitJoinWaitAnyTests.cs | 3 -- .../Scenarios/FlowchartCompletion/Tests.cs | 4 +- .../Activities/CustomActivity.cs | 1 - .../Scenarios/FlowchartNextActivity/Tests.cs | 3 -- .../ImplicitJoins/BraidedWorkflowTests.cs | 3 -- .../ImplicitLoopWorkflowTests.cs | 3 -- .../ImplicitJoins/JoinRunsOnceTests.cs | 2 - .../ParallelJoinCompletesTests.cs | 2 - .../Scenarios/ImportAndExecute/Tests.cs | 5 +-- .../Incidents/IncidentStrategyTests.cs | 3 -- .../Incidents/Statics/TestSettings.cs | 1 - .../JsonObjectSerialization/Tests.cs | 4 +- .../Tests.cs | 3 -- .../Scenarios/ParentChildCompletion/Tests.cs | 4 +- .../Scenarios/ParentChildInputs/Tests.cs | 6 +-- .../ParentChildOutputMapping/Tests.cs | 5 +-- .../Scenarios/SetGetVariables/Tests.cs | 3 -- .../SetGetVariablesFromActivities/Tests.cs | 3 -- .../DefaultRuntimeTests.cs | 4 -- .../WorkflowCancellation/ProtoActorTests.cs | 4 -- .../Workflows/BulkSuspendedWorkflow.cs | 2 - .../Scenarios/WorkflowOutputMapping/Tests.cs | 4 +- .../Scenarios/WorkflowResults/Tests.cs | 2 - .../Serialization/JsonSerialization/Tests.cs | 3 -- .../Serialization/Polymorphism/Models.cs | 1 - .../Serialization/Polymorphism/Tests.cs | 2 - .../SpecialPropertySerialization/Tests.cs | 2 - .../VariableExpressions/Tests.cs | 40 +++++++++++++++++++ .../VariableExpressions/Workflows.cs | 24 +++++++++++ .../Serialization/VariableTypes/Models.cs | 1 - .../Serialization/VariableTypes/Tests.cs | 1 - 58 files changed, 109 insertions(+), 147 deletions(-) create mode 100644 src/modules/Elsa.Workflows.Core/Extensions/WorkflowBuilderExtensions.cs delete mode 100644 src/modules/Elsa.Workflows.Core/Extensions/WorkflowDefinitionBuilderExtensions.cs create mode 100644 test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Tests.cs create mode 100644 test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Workflows.cs diff --git a/Elsa.sln b/Elsa.sln index 7c8922458..fd62fa97b 100644 --- a/Elsa.sln +++ b/Elsa.sln @@ -23,7 +23,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution", "solution", "{7D icon.png = icon.png NuGet.Config = NuGet.Config README.md = README.md - update-migrations.sh = update-migrations.sh EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{0354F050-3992-4DD4-B0EE-5FBA04AC72B6}" diff --git a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/ConnectionJsonConverter.cs b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/ConnectionJsonConverter.cs index 91727e15f..11498714b 100644 --- a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/ConnectionJsonConverter.cs +++ b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/ConnectionJsonConverter.cs @@ -31,7 +31,7 @@ public class ConnectionJsonConverter : JsonConverter var targetElement = doc.RootElement.GetProperty("target"); var sourceId = sourceElement.GetProperty("activity").GetString()!; var targetId = targetElement.TryGetProperty("activity", out var targetIdValue) ? targetIdValue.GetString() : default; - var sourcePort = sourceElement.GetProperty("port").GetString()!; + var sourcePort = sourceElement.TryGetProperty("port", out var sourcePortValue) ? sourcePortValue.GetString() : default; var targetPort = targetElement.TryGetProperty("port", out var targetPortValue) ? targetPortValue.GetString() : default; var sourceActivity = _activities.TryGetValue(sourceId, out var s) ? s : default!; diff --git a/src/modules/Elsa.Workflows.Core/Extensions/WorkflowBuilderExtensions.cs b/src/modules/Elsa.Workflows.Core/Extensions/WorkflowBuilderExtensions.cs new file mode 100644 index 000000000..48c70e56d --- /dev/null +++ b/src/modules/Elsa.Workflows.Core/Extensions/WorkflowBuilderExtensions.cs @@ -0,0 +1,26 @@ +using System.Diagnostics.CodeAnalysis; +using Elsa.Workflows.Activities; +using Elsa.Workflows.Contracts; + +// ReSharper disable once CheckNamespace +namespace Elsa.Extensions; + +/// +/// Contains extensions for . +/// +public static class WorkflowBuilderExtensions +{ + /// + /// Builds a workflow asynchronously. + /// + /// The type of the workflow. + /// The instance to build the workflow. + /// The cancellation token. + /// A task representing the asynchronous operation that returns the built . + public static Task BuildWorkflowAsync<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] T>( + this IWorkflowBuilder builder, + CancellationToken cancellationToken = default) where T : IWorkflow + { + return builder.BuildWorkflowAsync(Activator.CreateInstance(), cancellationToken); + } +} \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Core/Extensions/WorkflowDefinitionBuilderExtensions.cs b/src/modules/Elsa.Workflows.Core/Extensions/WorkflowDefinitionBuilderExtensions.cs deleted file mode 100644 index a99313588..000000000 --- a/src/modules/Elsa.Workflows.Core/Extensions/WorkflowDefinitionBuilderExtensions.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Elsa.Workflows.Activities; -using Elsa.Workflows.Contracts; - -// ReSharper disable once CheckNamespace -namespace Elsa.Extensions; - -public static class WorkflowDefinitionBuilderExtensions -{ - public static Task BuildWorkflowAsync(this IWorkflowBuilder builder, CancellationToken cancellationToken = default) where T : IWorkflow => builder.BuildWorkflowAsync(Activator.CreateInstance(), cancellationToken); -} \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Management/Serialization/Converters/InputJsonConverter.cs b/src/modules/Elsa.Workflows.Management/Serialization/Converters/InputJsonConverter.cs index 60fbea6b4..fdf2e229b 100644 --- a/src/modules/Elsa.Workflows.Management/Serialization/Converters/InputJsonConverter.cs +++ b/src/modules/Elsa.Workflows.Management/Serialization/Converters/InputJsonConverter.cs @@ -37,10 +37,17 @@ public class InputJsonConverter : JsonConverter> var expressionElement = doc.RootElement.TryGetProperty("expression", out var expressionElementValue) ? expressionElementValue : default; var expressionTypeNameElement = expressionElement.ValueKind != JsonValueKind.Undefined ? expressionElement.TryGetProperty("type", out var expressionTypeNameElementValue) ? expressionTypeNameElementValue : default : default; - var expressionTypeName = expressionTypeNameElement.ValueKind != JsonValueKind.Undefined ? expressionTypeNameElement.GetString() ?? "Literal" : default; - var expressionDescriptor = expressionTypeName != null ? _expressionDescriptorRegistry.Find(expressionTypeName) : default; - var expression = expressionElement.ValueKind == JsonValueKind.Object ? expressionElement.Deserialize(options) : new Expression(expressionTypeName!, null); + var expressionTypeName = expressionTypeNameElement.ValueKind != JsonValueKind.Undefined ? expressionTypeNameElement.GetString() ?? "Literal" : "Literal"; + var expressionDescriptor = _expressionDescriptorRegistry.Find(expressionTypeName); var memoryBlockReference = expressionDescriptor?.MemoryBlockReferenceFactory(); + var memoryBlockReferenceType = memoryBlockReference?.GetType(); + var expressionValueElement = expressionElement.TryGetProperty("value", out var expressionElementValueValue) ? expressionElementValueValue : default; + var expressionValue = expressionValueElement.ValueKind == JsonValueKind.String + ? expressionValueElement.GetString() + : expressionValueElement.ValueKind != JsonValueKind.Undefined && memoryBlockReferenceType != null + ? expressionValueElement.Deserialize(memoryBlockReferenceType, options)! + : default; + var expression = new Expression(expressionTypeName, expressionValue); if (memoryBlockReference == null) return default!; diff --git a/test/integration/Elsa.IntegrationTests/Activities/Break/BreakTests.cs b/test/integration/Elsa.IntegrationTests/Activities/Break/BreakTests.cs index 2eb6449fa..4db89901c 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/Break/BreakTests.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/Break/BreakTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Activities.Workflows; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs b/test/integration/Elsa.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs index 39cc79098..c86bf55c3 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/Break/Workflows/BreakForEachWorkflow.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Activities/Finish/FinishTests.cs b/test/integration/Elsa.IntegrationTests/Activities/Finish/FinishTests.cs index a85c017b6..84957434a 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/Finish/FinishTests.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/Finish/FinishTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachTests.cs b/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachTests.cs index 1687787c7..09f252f7b 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachTests.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs b/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs index c2a971757..fb581068f 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/ForEach/ForEachWorkflow.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Activities/Fork/ForkTests.cs b/test/integration/Elsa.IntegrationTests/Activities/Fork/ForkTests.cs index 5e02a1858..9af605502 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/Fork/ForkTests.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/Fork/ForkTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Extensions; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Activities/If/ComplexIfWorkflow.cs b/test/integration/Elsa.IntegrationTests/Activities/If/ComplexIfWorkflow.cs index c0224f1e8..975034fad 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/If/ComplexIfWorkflow.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/If/ComplexIfWorkflow.cs @@ -1,4 +1,3 @@ -using System; using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Activities/If/IfTests.cs b/test/integration/Elsa.IntegrationTests/Activities/If/IfTests.cs index 9a8f9a16a..35b9899bd 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/If/IfTests.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/If/IfTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.IntegrationTests/Activities/If/IfThenWorkflow.cs b/test/integration/Elsa.IntegrationTests/Activities/If/IfThenWorkflow.cs index 2babe76ac..12eb85670 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/If/IfThenWorkflow.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/If/IfThenWorkflow.cs @@ -1,4 +1,3 @@ -using System; using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Activities/Sequence/SequenceTests.cs b/test/integration/Elsa.IntegrationTests/Activities/Sequence/SequenceTests.cs index 5df116633..0741e447f 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/Sequence/SequenceTests.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/Sequence/SequenceTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.IntegrationTests/Activities/WriteLine/WriteLineTests.cs b/test/integration/Elsa.IntegrationTests/Activities/WriteLine/WriteLineTests.cs index 9c888c88b..be84dcda7 100644 --- a/test/integration/Elsa.IntegrationTests/Activities/WriteLine/WriteLineTests.cs +++ b/test/integration/Elsa.IntegrationTests/Activities/WriteLine/WriteLineTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/TestHandler.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/TestHandler.cs index 9cd250f9a..96a411862 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/TestHandler.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/TestHandler.cs @@ -1,5 +1,3 @@ -using System.Threading; -using System.Threading.Tasks; using Elsa.Mediator.Contracts; using Elsa.Workflows.Notifications; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Tests.cs index 2201afd31..9370f526c 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ActivityNotificationsMiddleware/Tests.cs @@ -1,4 +1,3 @@ -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Elsa.Workflows.Notifications; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ActivityOutputs/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ActivityOutputs/Tests.cs index 1d822eaec..177304447 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ActivityOutputs/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ActivityOutputs/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/Blocking/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/Blocking/Tests.cs index 7740fa25e..f3734223b 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/Blocking/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/Blocking/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Extensions; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/BlockingAndBreaking/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/BlockingAndBreaking/Tests.cs index c0489cb3b..c8e0453f3 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/BlockingAndBreaking/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/BlockingAndBreaking/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Extensions; using Elsa.IntegrationTests.Scenarios.BlockingAndBreaking.Workflows; using Elsa.Testing.Shared; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs b/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs index 9d58f8138..ed81f9648 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Activities/CustomActivity.cs @@ -1,4 +1,3 @@ -using System; using Elsa.Expressions.Models; using Elsa.Extensions; using Elsa.Workflows; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Tests.cs index a4bd5c76b..b324ebcc2 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/CanExecute/Tests.cs @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.CanExecute.Activities; using Elsa.IntegrationTests.Scenarios.CanExecute.Workflows; using Elsa.Testing.Shared; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/Composites/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/Composites/Tests.cs index 1a51fdb79..0d7802a27 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/Composites/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/Composites/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Extensions; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs index 3dca59b65..40a489fbc 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/CompositesAndOutcomes/CompositesAndOutcomeWaitAnyTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows; using Xunit; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/CompositesPassingData/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/CompositesPassingData/Tests.cs index 4649f6785..1126c5c3e 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/CompositesPassingData/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/CompositesPassingData/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Extensions; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/DependencyWorkflows/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/DependencyWorkflows/Tests.cs index 6afc82411..d5f519dab 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/DependencyWorkflows/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/DependencyWorkflows/Tests.cs @@ -1,7 +1,4 @@ -using System; -using System.Linq; -using System.Threading.Tasks; -using Elsa.Testing.Shared; +using Elsa.Testing.Shared; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs index c20a87fc9..025330f80 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ExplicitJoins/ExplicitJoinWaitAnyTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows; using Xunit; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs index cd6c0cc1f..bf3064e59 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartCompletion/Tests.cs @@ -1,6 +1,4 @@ -using System; -using System.Threading.Tasks; -using Elsa.Testing.Shared; +using Elsa.Testing.Shared; using Elsa.Workflows; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs b/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs index 3d0896cff..a14146250 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Activities/CustomActivity.cs @@ -1,4 +1,3 @@ -using System.Threading.Tasks; using Elsa.Extensions; using Elsa.Workflows; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Tests.cs index 12ec27789..e490c3c03 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/FlowchartNextActivity/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.FlowchartNextActivity.Workflows; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs index 3f9f15089..ae8237395 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/BraidedWorkflowTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.ImplicitJoins.Workflows; using Elsa.Testing.Shared; using Elsa.Workflows; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs index 73855c183..07d0f35c1 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ImplicitLoopWorkflowTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.ImplicitJoins.Workflows; using Elsa.Testing.Shared; using Elsa.Workflows; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/JoinRunsOnceTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/JoinRunsOnceTests.cs index abe25b89d..f9c01cb0a 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/JoinRunsOnceTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/JoinRunsOnceTests.cs @@ -1,5 +1,3 @@ -using System; -using System.Threading.Tasks; using Elsa.Common.Models; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ParallelJoinCompletesTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ParallelJoinCompletesTests.cs index c8194bb6a..bdc1b2727 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ParallelJoinCompletesTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ImplicitJoins/ParallelJoinCompletesTests.cs @@ -1,5 +1,3 @@ -using System; -using System.Threading.Tasks; using Elsa.Common.Models; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ImportAndExecute/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ImportAndExecute/Tests.cs index 020235af0..cedaeb87c 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ImportAndExecute/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ImportAndExecute/Tests.cs @@ -1,7 +1,4 @@ -using System; -using Elsa.Testing.Shared; -using System.Linq; -using System.Threading.Tasks; +using Elsa.Testing.Shared; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs index c8cd70a4c..5edfb4919 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/IncidentStrategyTests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.Incidents.Statics; using Elsa.IntegrationTests.Scenarios.Incidents.Workflows; using Elsa.Testing.Shared; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/Statics/TestSettings.cs b/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/Statics/TestSettings.cs index 7d6a2a82f..3906f8a25 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/Statics/TestSettings.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/Incidents/Statics/TestSettings.cs @@ -1,4 +1,3 @@ -using System; using Elsa.Workflows.IncidentStrategies; namespace Elsa.IntegrationTests.Scenarios.Incidents.Statics; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectSerialization/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectSerialization/Tests.cs index 20690beb9..707ffa78c 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectSerialization/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectSerialization/Tests.cs @@ -1,6 +1,4 @@ -using System; -using System.Threading.Tasks; -using Elsa.Testing.Shared; +using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Elsa.Workflows.State; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Tests.cs index 1526c9ea5..86c0de54c 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/JsonObjectToObjectRemainsJsonObject/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.JsonObjectToObjectRemainsJsonObject.Workflows; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs index 65995796b..12a61876d 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildCompletion/Tests.cs @@ -1,6 +1,4 @@ -using System; -using System.Threading.Tasks; -using Elsa.Testing.Shared; +using Elsa.Testing.Shared; using Elsa.Workflows; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildInputs/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildInputs/Tests.cs index 481f33688..253ef09ae 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildInputs/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildInputs/Tests.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Elsa.Testing.Shared; +using Elsa.Testing.Shared; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildOutputMapping/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildOutputMapping/Tests.cs index b54de7602..fb0e2e06f 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildOutputMapping/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/ParentChildOutputMapping/Tests.cs @@ -1,7 +1,4 @@ -using System; -using System.Linq; -using System.Threading.Tasks; -using Elsa.Testing.Shared; +using Elsa.Testing.Shared; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs index 90f2aeb24..af3a831be 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Microsoft.Extensions.DependencyInjection; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Tests.cs index 6d2d02377..50a92c561 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariablesFromActivities/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Linq; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.SetGetVariablesFromActivities.Workflows; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs index 3514762ad..ff696c770 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/DefaultRuntimeTests.cs @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.WorkflowCancellation.Workflows; using Elsa.Mediator.HostedServices; using Elsa.Mediator.Options; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs index f22f4ae89..e2bad0701 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/ProtoActorTests.cs @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; using Elsa.Extensions; using Elsa.IntegrationTests.Scenarios.WorkflowCancellation.Workflows; using Elsa.Mediator.HostedServices; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs index 35571771c..3777089c9 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowCancellation/Workflows/BulkSuspendedWorkflow.cs @@ -1,5 +1,3 @@ -using System; -using System.Linq; using Elsa.Scheduling.Activities; using Elsa.Workflows; using Elsa.Workflows.Activities; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowOutputMapping/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowOutputMapping/Tests.cs index 4bf1f8763..623df9ec7 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowOutputMapping/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowOutputMapping/Tests.cs @@ -1,6 +1,4 @@ -using System; -using System.Threading.Tasks; -using Elsa.Testing.Shared; +using Elsa.Testing.Shared; using Xunit; using Xunit.Abstractions; diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs index 1047149aa..df8a5bb09 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs @@ -1,5 +1,3 @@ -using System; -using System.Threading.Tasks; using Elsa.Testing.Shared; using Elsa.Workflows.Activities; using Elsa.Workflows.Contracts; diff --git a/test/integration/Elsa.IntegrationTests/Serialization/JsonSerialization/Tests.cs b/test/integration/Elsa.IntegrationTests/Serialization/JsonSerialization/Tests.cs index 76192a41d..b1e4dfb66 100644 --- a/test/integration/Elsa.IntegrationTests/Serialization/JsonSerialization/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Serialization/JsonSerialization/Tests.cs @@ -1,6 +1,3 @@ -using System; -using System.Collections.Generic; -using System.IO; using System.Text.Json; using System.Text.Json.Nodes; using Elsa.Testing.Shared; diff --git a/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Models.cs b/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Models.cs index 4550ab9ff..a0194203c 100644 --- a/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Models.cs +++ b/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Models.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using Elsa.Extensions; namespace Elsa.IntegrationTests.Serialization.Polymorphism; diff --git a/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Tests.cs b/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Tests.cs index d232247f3..24cd0c354 100644 --- a/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Serialization/Polymorphism/Tests.cs @@ -1,6 +1,4 @@ -using System.Collections.Generic; using System.Dynamic; -using System.IO; using System.Text.Json; using System.Text.Json.Serialization; using System.Text.Json.Serialization.Metadata; diff --git a/test/integration/Elsa.IntegrationTests/Serialization/SpecialPropertySerialization/Tests.cs b/test/integration/Elsa.IntegrationTests/Serialization/SpecialPropertySerialization/Tests.cs index cd9a27f23..28ab96648 100644 --- a/test/integration/Elsa.IntegrationTests/Serialization/SpecialPropertySerialization/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Serialization/SpecialPropertySerialization/Tests.cs @@ -1,7 +1,5 @@ using Elsa.Testing.Shared; using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; using System.Text.Json.Nodes; using Elsa.Workflows.Contracts; using Xunit; diff --git a/test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Tests.cs b/test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Tests.cs new file mode 100644 index 000000000..e9a4a6b31 --- /dev/null +++ b/test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Tests.cs @@ -0,0 +1,40 @@ +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; +using Microsoft.Extensions.DependencyInjection; +using Xunit; +using Xunit.Abstractions; + +namespace Elsa.IntegrationTests.Serialization.VariableExpressions; + +/// +/// Contains tests for variable expressions serialization. +/// +public class Tests +{ + private readonly IWorkflowSerializer _workflowSerializer; + private readonly IWorkflowBuilder _workflowBuilder; + + public Tests(ITestOutputHelper testOutputHelper) + { + var serviceProvider = new TestApplicationBuilder(testOutputHelper).Build(); + _workflowSerializer = serviceProvider.GetRequiredService(); + IWorkflowBuilderFactory workflowBuilderFactory = serviceProvider.GetRequiredService(); + _workflowBuilder = workflowBuilderFactory.CreateBuilder(); + } + + [Fact(DisplayName = "Variable types remain intact after serialization")] + public async Task Test1() + { + var workflow = await _workflowBuilder.BuildWorkflowAsync(); + var serialized = _workflowSerializer.Serialize(workflow); + var deserializedWorkflow = _workflowSerializer.Deserialize(serialized); + var rehydratedWriteLine = (WriteLine)((Flowchart)deserializedWorkflow.Root).Activities.ElementAt(0); + + Assert.IsType>(rehydratedWriteLine.Text.Expression!.Value); + } +} \ No newline at end of file diff --git a/test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Workflows.cs b/test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Workflows.cs new file mode 100644 index 000000000..3ccf39287 --- /dev/null +++ b/test/integration/Elsa.IntegrationTests/Serialization/VariableExpressions/Workflows.cs @@ -0,0 +1,24 @@ +using Elsa.Workflows; +using Elsa.Workflows.Activities; +using Elsa.Workflows.Activities.Flowchart.Activities; +using Elsa.Workflows.Contracts; + +namespace Elsa.IntegrationTests.Serialization.VariableExpressions; + +class SampleWorkflow : WorkflowBase +{ + protected override void Build(IWorkflowBuilder workflow) + { + var variable1 = workflow.WithVariable("Some Value"); + var writeLine1 = new WriteLine(variable1); + + workflow.Root = new Flowchart + { + Activities = + { + writeLine1 + }, + Start = writeLine1 + }; + } +} \ No newline at end of file diff --git a/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Models.cs b/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Models.cs index 8a1669886..a213b8045 100644 --- a/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Models.cs +++ b/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Models.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using Elsa.Workflows.Memory; namespace Elsa.IntegrationTests.Serialization.VariableTypes; diff --git a/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Tests.cs b/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Tests.cs index 0b072bcfa..82a750fa8 100644 --- a/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Serialization/VariableTypes/Tests.cs @@ -1,5 +1,4 @@ using System.Collections.ObjectModel; -using System.Linq; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Elsa.Workflows.Memory;