From e5e7211504bfbea2fd5cb083787b6143c6ea5498 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 8 Nov 2024 21:39:01 +0100 Subject: [PATCH] Add workflow definition cache manager to test setup The IWorkflowDefinitionCacheManager has been added to the test class. This ensures proper cache management during workflow definition reload tests. Additionally, a cleanup step to delete the workflow definition and its versions has been included. --- .../WorkflowDefinitionReload/ReloadWorkflowTests.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/component/Elsa.Workflows.ComponentTests/Scenarios/WorkflowDefinitionReload/ReloadWorkflowTests.cs b/test/component/Elsa.Workflows.ComponentTests/Scenarios/WorkflowDefinitionReload/ReloadWorkflowTests.cs index 9a0fea9ca..98db0c4eb 100644 --- a/test/component/Elsa.Workflows.ComponentTests/Scenarios/WorkflowDefinitionReload/ReloadWorkflowTests.cs +++ b/test/component/Elsa.Workflows.ComponentTests/Scenarios/WorkflowDefinitionReload/ReloadWorkflowTests.cs @@ -22,6 +22,7 @@ public class ReloadWorkflowTests : AppComponentTest private readonly TestWorkflowProvider _testWorkflowProvider; private readonly IWorkflowDefinitionService _workflowDefinitionService; private readonly IActivityRegistry _activityRegistry; + private readonly IWorkflowDefinitionCacheManager _workflowDefinitionCacheManager; public ReloadWorkflowTests(App app) : base(app) { @@ -32,6 +33,7 @@ public class ReloadWorkflowTests : AppComponentTest _activityRegistry = Scope.ServiceProvider.GetRequiredService(); var workflowProviders = Scope.ServiceProvider.GetRequiredService>(); _testWorkflowProvider = (TestWorkflowProvider)workflowProviders.First(x => x is TestWorkflowProvider); + _workflowDefinitionCacheManager = Scope.ServiceProvider.GetRequiredService(); } [Fact] @@ -40,7 +42,7 @@ public class ReloadWorkflowTests : AppComponentTest var client = WorkflowServer.CreateHttpWorkflowClient(); await _workflowDefinitionManager.DeleteByDefinitionIdAsync("f68b09bc-2013-4617-b82f-d76b6819a624", CancellationToken.None); var firstResponse = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "reload-test")); - await _workflowDefinitionsReloader.ReloadWorkflowDefinitionsAsync(CancellationToken.None); + await _workflowDefinitionsReloader.ReloadWorkflowDefinitionsAsync(); var secondResponse = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "reload-test")); Assert.Equal(HttpStatusCode.NotFound, firstResponse.StatusCode); Assert.Equal(HttpStatusCode.OK, secondResponse.StatusCode); @@ -97,6 +99,9 @@ public class ReloadWorkflowTests : AppComponentTest // Assert that the activity registry contains a new activity descriptor representing the new workflow version. var activityV2 = _activityRegistry.Find(activityTypeName)!; Assert.Equal(2, activityV2.Version); + + // Cleanup: Delete the workflow definition and its versions. + await _workflowDefinitionManager.DeleteByDefinitionIdAsync(definitionId, CancellationToken.None); } private async Task BuildWorkflowAsync(string definitionId, string definitionVersionId, int version)