elsa-core/test/component/Elsa.Workflows.ComponentTests/Scenarios
Sipke Schoorstra fa04e1ebcd
Adds activity host registration support (#7172)
* Add support for activity host registration across workflows

Introduced new APIs and updates to enable registering custom activity hosts in the workflow management system. This includes modifications to attributes, service registrations, and extensions to streamline integration for advanced activity hosting scenarios.

* Remove unused `using` directives across Workflow Management module

* Add support for host method activity registration and description

Introduce new APIs to enable activity registration from public async methods (Task/Task<T>) on CLR types. Includes `HostMethodActivitiesOptions`, `HostMethodActivity`, `HostMethodActivityProvider`, and `HostMethodActivityDescriber` for dynamic activity generation and execution.

* Refactor host method activity execution and cleanup.

Reworked `HostMethodActivity` to support resumable workflows, improved parameter handling with pluggable value providers, and removed obsolete `AgentExecutionContext`. Enhanced method resolution, async handling, and input/output descriptor logic for better flexibility and maintainability.

* Refactor `Bookmark` model to use mutable properties and update XML documentation.

* Refactor `BookmarkExecutionContextExtensions` to improve structure, add `GenerateBookmarkTriggerToken` method, and enhance maintainability.

* Add extensibility for host method parameter binding with pluggable value providers

Introduced `IHostMethodParameterValueProvider` interface for custom parameter resolution, along with `DefaultHostMethodParameterValueProvider`, `DelegateHostMethodParameterValueProvider`, and `FromServicesAttribute` for flexible binding options. Enhances host method activity execution by supporting DI resolution and workflow input handling.

* Refactor nullable usage and improve bookmark management logic

Updated null assignment for consistency across files and refined logic for detecting and handling newly added bookmarks. Adjusted method signatures and parameters in the DecoratedStoryWriterAgent class for more explicit input handling. These changes enhance code readability, maintainability, and robustness.

* Update src/modules/Elsa.Workflows.Management/Activities/CodeFirst/HostMethodActivityProvider.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Ensure `CallbackMethodName` is set and skip bookmarks with empty values

* Update src/modules/Elsa.Workflows.Management/Features/WorkflowManagementFeature.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/modules/Elsa.Workflows.Management/Contracts/IHostMethodActivityDescriber.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/modules/Elsa.Workflows.Core/Attributes/InputAttribute.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Refactor `CodeFirst` namespace to `HostMethod` for improved clarity and align with updated activity execution logic. Enhance DI-based parameter resolution and update XML documentation for `HostMethodActivitiesOptions`.

* Add `Penguin` activity host with sample activity methods and register in Elsa pipeline

* Add `TestHostMethod` activities and corresponding component tests. Register `TestHostMethod` as an activity host in the workflow server.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-27 20:52:52 +01:00
..
Activities Refactor Finish activity tests and workflows. Migrate integration tests to component tests, introduce new workflows for advanced scenarios, and enhance runner utilities to simplify execution logic. 2025-12-20 15:53:57 +01:00
BasicWorkflows Add ExecuteWorkflow activity (#6134) 2024-11-21 16:44:25 +01:00
CachingAndWorkflowDefinitionActivity Fix semaphore release logic in scheduled task execution (#7045) 2025-11-09 14:14:25 +01:00
ClusteredHosting Add ExecuteWorkflow activity (#6134) 2024-11-21 16:44:25 +01:00
ConcurrentTriggerIndexing Fix Race Condition Causing Duplicate Trigger Registration in Multi-Engine Environments + Add Concurrency Tests to Prevent Regression (#7131) 2025-12-05 09:17:14 +01:00
Extensions Removed unnecessary tests, small refactors for readability +organization 2025-12-03 11:48:53 +01:00
HostMethodActivities Adds activity host registration support (#7172) 2025-12-27 20:52:52 +01:00
HttpWorkflows Fix route data handling (#6176) 2024-12-04 11:31:03 +01:00
InputOutput Add synthetic properties to JS engine for exclusion (#6178) 2024-12-05 09:30:31 +01:00
JavaScriptVariables Update all dependencies to new projects. 2025-05-21 00:20:13 +01:00
LogPersistenceModes Skip flaky test in InputOutputLoggingTests. 2025-05-20 11:41:00 +02:00
Multitenancy Remove Elsa.Expressions.Dsl module and related DSL features 2025-06-02 21:52:10 +02:00
RestApis Merge 3.5.1 into 3.6.0 (#6907) 2025-09-13 13:05:52 +02:00
Variables Add extensive unit and component tests for scheduling activities (#7036) 2025-11-07 21:54:50 +01:00
VariablesArray Added IEnumerableTypeConverter (#7020) 2025-11-12 11:07:33 +01:00
WorkflowActivities Add ExecuteWorkflow activity (#6134) 2024-11-21 16:44:25 +01:00
WorkflowCompletion Add ExecuteWorkflow activity (#6134) 2024-11-21 16:44:25 +01:00
WorkflowDefinitionRefresh Add distributed workflow runtime implementation. 2025-06-03 09:58:20 +02:00
WorkflowDefinitionReload Fix trigger indexing logic and add tests for trigger persistence after workflow reload. (#6958) 2025-10-10 09:21:11 +02:00
WorkflowInstanceDeletion Improves workflow deletion and task scheduling (#7088) 2025-11-21 20:58:38 +01:00
WorkflowJsonStructures Add ExecuteWorkflow activity (#6134) 2024-11-21 16:44:25 +01:00