Commit graph

521 commits

Author SHA1 Message Date
Craig Fowler ee7a8cdb1b
Merge pull request #775 from craigfowler/feature/738-Composite-Activities-may-be-triggers
Refactor for comprehension & add test coverage
2021-03-20 11:29:28 +00:00
Craig Fowler 2539f6425a WIP #738 - Integration tests for Trigger Indexer
One of these tests is failing and this is the one which
demonstrates issue #738. The composite activity which begins
with ReceiveSignal doesn't generate a trigger.
2021-03-20 10:42:41 +00:00
Konstantin Mikhailyuk caf15ecc70
WIP #667 - Webhook activity project (#718)
* Webhook activity project

* Webhook definition with InMemoryStore

* Add Webhook activity provider

* Prevent part assembly generation. See https://github.com/dotnet/aspnetcore/issues/24171

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2021-03-19 21:15:50 +01:00
Sipke Schoorstra ba8b4bffcc Add support for setting default activity property values 2021-03-19 21:02:35 +01:00
Craig Fowler 3943e64c70 WIP #738 - Add test coverage to replace big test
The large/complex test is now removed, replaced by
smaller/simpler unit tests for the individual units in
the overall process of getting triggers.
2021-03-19 19:45:16 +00:00
Sipke Schoorstra 37eeed2cd0 Implement activity property categorization 2021-03-19 14:25:25 +01:00
Sipke Schoorstra 1dd15f7a21 Fix lifetime scopes 2021-03-19 12:21:19 +01:00
Craig Fowler 6700ac2402 WIP #738 - Simplify unit test
Now that the class is a little less complex, this
simplified unit test covers just what remains.
2021-03-18 21:22:19 +00:00
Craig Fowler 9ec698c7bc WIP #738 - Refactor a troublesome extension method
This extension method is quite complex and is frustrating
when a unit test passes-through it.  That's because extension
methods can't be mocked in tests.
2021-03-18 21:09:04 +00:00
Craig Fowler f00f02041a WIP #738 - Further refactor (remove loop)
This is pretty trivial really, it just cuts down on
indentation and moves the looping into a Linq
map (Select) which builds a collection and then
reduces it (SelectMany) to a flattened collection.

Also remove some needless await'ing.
2021-03-18 20:40:09 +00:00
Craig Fowler d9724e5267 WIP #738 - Refactor-out a further service
The triggers-for-activity-blueprint functionality
is quite complex just on its own, so I have moved this to
a new service.

Once again the integration test which is left behind proves
that it still does the same job.
2021-03-18 20:29:06 +00:00
Craig Fowler 654f3072d9 WIP #738 - Refactor some logic into services
This simplifies the unit a little and the test proves that
it still does the same thing overall.  Strictly speaking, this
is now an integration test.
2021-03-18 19:35:05 +00:00
Craig Fowler 1dee17b904 WIP #738 - Add test coverage for new service
This test passes, but as you can see it's
massive because of the complexity of what the
class has to do.
2021-03-18 18:54:23 +00:00
Sipke Schoorstra ac32034d00 Implement activity property UI customizability 2021-03-18 14:28:44 +01:00
Sipke Schoorstra 0434b4825a Update packages 2021-03-18 11:24:04 +01:00
Craig Fowler 523c96a535 WIP #738 - Straight refactor to new service (SRP)
There's no logic change here at all.  I just moved a large function
out of the TriggerIndexer into a service of its own.
2021-03-17 19:47:58 +00:00
Sipke Schoorstra 0c15c94ea7
Telnyx Activities (#768)
* Fix liquid syntax for accessing activity output

* Initial scaffolding of Telnyx module + API changes

* Make Telnyx Notification activity blocking

* Implement Telnyx correlation

* Post workflow suspension tasks improvements

* Add Telnyx activities

* Add HangupCall and TransferCall activities

* Call activity improvements
2021-03-17 13:07:14 +01:00
Sipke Schoorstra 17e072a74e Post workflow suspension tasks improvements 2021-03-16 11:41:43 +01:00
Craig Fowler 6f7d512a9f
Merge pull request #735 from craigfowler/feature/728-WorkflowInstances-not-persisting
Resolve #728 workflow instances weren't persisting
2021-03-11 09:01:07 +00:00
Craig Fowler 10094942a4 PR rework #728 - Remove repetitive logging 2021-03-10 20:15:52 +00:00
Craig Fowler 5c927501d0 PR rework #728 - Default persistence behavior
This reworks the way that the default behavior is selected, in line
with comments.  The changes to the enum are reverted, and the
three places which create a workflow definition are now altered to
explicitly choose WorkflowBurst

This includes a change to the TS enum definition - update to match
its C# counterpart.
2021-03-10 20:08:53 +00:00
Sipke Schoorstra 4eb3f47d30 Extract options and UI hint resolvers 2021-03-10 20:23:21 +01:00
Sipke Schoorstra 0442e1e699 Refactor options provider with DI support 2021-03-10 20:23:21 +01:00
Sipke Schoorstra 14bf27942a Provide icons for core activities 2021-03-10 15:11:51 +01:00
Craig Fowler 7f5a6228cf Resolve #728 - Fix ActivityExecuted persistence
The PersistWorkflow service will now handle ActivityExecuted
persistence behaviour, presumably as-intended.
2021-03-09 20:09:36 +00:00
Craig Fowler 8751bead5a WIP #728 - Make WorkflowBurst default behaviour
In the comments to #728 it was suggested that
WorkflowBurst persistence behaviour was a more
sane default.
2021-03-09 19:57:45 +00:00
Craig Fowler 32bcf9a751 WIP #728 - Add test cases for persistence
This also includes a change to the workflow used in the test-case.
There are quite complex reasons for this, as explained here:

  https://github.com/elsa-workflows/elsa-core/issues/728#issuecomment-794319236

The real crux of it is that the workflow must have an activity
which suspends it, and that activity that suspends the workflow
must not be the starting activity.  This is why I added an unused
set-variable activity as the starter.

This commit shows that the various persistence test cases _mostly_
work OK, with the one exception of ActivityExecuted.
2021-03-09 19:57:02 +00:00
Sipke Schoorstra 222d88c275 Add Retract endpoint 2021-03-08 15:14:02 +01:00
Sipke Schoorstra 972dd49139 Add Unpublish method to WorkflowPublisher 2021-03-08 15:14:02 +01:00
Sipke Schoorstra 62352e27ac Remove IsEnabled flag 2021-03-08 15:14:02 +01:00
Sipke Schoorstra 7481d3e08b Add Published notification 2021-03-06 22:04:30 +01:00
Sipke Schoorstra d7d7bd4a7e Add RunJavaScript activity 2021-03-06 13:41:52 +01:00
Sipke Schoorstra dc95276abb Update SendEmail activity property UI hints 2021-03-06 09:40:49 +01:00
Sipke Schoorstra 21ac6866ea Add multi-text control 2021-03-06 09:40:49 +01:00
Sipke Schoorstra 7f768f4b17 Update If activity to use expression editor input control for Condition 2021-03-06 09:40:49 +01:00
Sipke Schoorstra 4b33418cf7 Fix declarative composite activity definition to blueprint mapping 2021-03-04 21:52:23 +01:00
Sipke Schoorstra 6eadac5736 Improve javascript engine 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 8aa40f9f73 Handle re-scheduling of temporal events after (re-)indexing triggers 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 9e31439802 Fix JavaScriptExpressionHandler string conversion 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 3b7e5aff57 Add dropdown control 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 149916c73d Minor cleanup 2021-03-04 17:45:59 +01:00
Sipke Schoorstra bd23810972 Re-index workflow triggers when workflow definition gets published 2021-03-04 17:45:59 +01:00
Sipke Schoorstra b90e0c1a71 Implement workflow registry cache eviction upon workflow definition saving 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 59d2cf8239 Publish WorkflowDefinitionPublished event when publishing workflow definition 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 9cf13df50d Update TriggerFinder parameter naming 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 128705fd19 Make WorkflowBlueprintMaterializer resilient to missing properties 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 404339e097 Update TriggerIndexer to ignore deprecated IsEnabled flag 2021-03-04 17:45:59 +01:00
Sipke Schoorstra e15893bef2 WIP: Add JSON expression handler 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 1c948ba0e3 WIP: Improved code editor style and added check-list input editor 2021-03-04 17:45:59 +01:00
Sipke Schoorstra fe691f6d9c Refactor activity property type to UIHint 2021-03-04 17:45:59 +01:00