Fix tests

This commit is contained in:
Sipke Schoorstra 2020-01-19 10:13:11 +01:00
parent fd1cfb4756
commit e7bf3f5ab6
7 changed files with 120 additions and 118 deletions

123
Elsa.sln
View file

@ -34,24 +34,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Activities.Timers", "s
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Activities.MassTransit", "src\activities\Elsa.Activities.MassTransit\Elsa.Activities.MassTransit.csproj", "{C4939482-9447-47D1-B6AF-E9F8C6323841}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "persistence", "persistence", "{76710230-AC6D-4E54-9A06-15F34C155118}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Persistence.YesSql", "src\persistence\Elsa.Persistence.YesSql\Elsa.Persistence.YesSql.csproj", "{4DB0741F-EAD9-4E37-862D-A1DA12462B7D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Activities.UserTask", "src\activities\Elsa.Activities.UserTask\Elsa.Activities.UserTask.csproj", "{BC0F57E2-AB64-4026-B6E3-E03D9133DB26}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Persistence.EntityFrameworkCore", "src\persistence\Elsa.Persistence.EntityFrameworkCore\Elsa.Persistence.EntityFrameworkCore.csproj", "{349D4C87-E17F-4F51-B493-1994BF631D37}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dashboard", "dashboard", "{8B87D79A-F0DE-4F88-81D3-8C8C69108ADB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Dashboard", "src\dashboard\Elsa.Dashboard\Elsa.Dashboard.csproj", "{493FC3E3-34FE-4F8D-AF37-38A5F5541FBD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Persistence.MongoDb", "src\persistence\Elsa.Persistence.MongoDb\Elsa.Persistence.MongoDb.csproj", "{82CDD590-2409-4C7E-8AF4-07C7D718D4D8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.WorkflowDesigner", "src\dashboard\Elsa.WorkflowDesigner\Elsa.WorkflowDesigner.csproj", "{120E4BF9-4A42-4BB9-A0B2-9597160D6E37}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Persistence.DocumentDb", "src\persistence\Elsa.Persistence.DocumentDb\Elsa.Persistence.DocumentDb.csproj", "{39EBECE7-538B-431C-AAB7-901AB16E6D4A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Activities.Dropbox", "src\activities\Elsa.Activities.Dropbox\Elsa.Activities.Dropbox.csproj", "{5A3C9D59-21FE-4BE3-A00A-FF3F198EEC97}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "utils", "utils", "{9E1AF14C-0BEC-4BC2-810C-85FC25A9DDD4}"
@ -64,16 +48,28 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Scripting.JavaScript",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Scripting.Liquid", "src\scripting\Elsa.Scripting.Liquid\Elsa.Scripting.Liquid.csproj", "{9A2D1E3E-328F-4E02-86F8-84974925C1E3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Activities.ControlFlow", "src\activities\Elsa.Activities.ControlFlow\Elsa.Activities.ControlFlow.csproj", "{3FC85C9D-CC20-4F54-9936-029F19FBFBE1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Activities.Workflows", "src\activities\Elsa.Activities.Workflows\Elsa.Activities.Workflows.csproj", "{1BB8EC9E-AEBD-438B-9FA7-B7FA78999D7D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa", "src\core\Elsa\Elsa.csproj", "{ED2A4FE5-821B-46F7-B72F-E66DE0D66C93}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Dashboard.Web", "src\dashboard\Elsa.Dashboard.Web\Elsa.Dashboard.Web.csproj", "{7179277B-E692-43CA-8243-3FE4FC2DD1EA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Activities.Reflection", "src\activities\Elsa.Activities.Reflection\Elsa.Activities.Reflection.csproj", "{1689E6C1-DD2B-4ECC-B9C8-E6A7E4E6AAA0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "providers", "providers", "{67CF5B65-D24A-4280-AACE-FE96845D7925}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.DistributedLocking.SqlServer", "src\providers\Elsa.DistributedLocking.SqlServer\Elsa.DistributedLocking.SqlServer.csproj", "{7BE958AF-5394-4B41-A5D6-45244CB241D4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Persistence.DocumentDb", "src\providers\Elsa.Persistence.DocumentDb\Elsa.Persistence.DocumentDb.csproj", "{36C1673C-FFD4-439A-8090-8858E26C6FD4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Persistence.EntityFrameworkCore", "src\providers\Elsa.Persistence.EntityFrameworkCore\Elsa.Persistence.EntityFrameworkCore.csproj", "{AE6CDFF5-8ADE-438C-89F0-5B48FC2C9FF4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Persistence.MongoDb", "src\providers\Elsa.Persistence.MongoDb\Elsa.Persistence.MongoDb.csproj", "{122C17CF-CCE5-4F8E-9900-B7582865F6D9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Persistence.YesSql", "src\providers\Elsa.Persistence.YesSql\Elsa.Persistence.YesSql.csproj", "{235DA54C-336A-408F-903E-CD935012CEBC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{E12F5CD9-0738-4F23-9438-26B65A0C53AA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Core.UnitTests", "test\unit\Elsa.Core.UnitTests\Elsa.Core.UnitTests.csproj", "{715A6E74-05CD-4236-9287-1643B074117E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Testing.Shared", "test\shared\Elsa.Testing.Shared\Elsa.Testing.Shared.csproj", "{BF39E5FD-C0A3-4FDE-850E-2E4CF063C301}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -108,34 +104,10 @@ Global
{C4939482-9447-47D1-B6AF-E9F8C6323841}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4939482-9447-47D1-B6AF-E9F8C6323841}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4939482-9447-47D1-B6AF-E9F8C6323841}.Release|Any CPU.Build.0 = Release|Any CPU
{4DB0741F-EAD9-4E37-862D-A1DA12462B7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4DB0741F-EAD9-4E37-862D-A1DA12462B7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4DB0741F-EAD9-4E37-862D-A1DA12462B7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4DB0741F-EAD9-4E37-862D-A1DA12462B7D}.Release|Any CPU.Build.0 = Release|Any CPU
{BC0F57E2-AB64-4026-B6E3-E03D9133DB26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC0F57E2-AB64-4026-B6E3-E03D9133DB26}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC0F57E2-AB64-4026-B6E3-E03D9133DB26}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC0F57E2-AB64-4026-B6E3-E03D9133DB26}.Release|Any CPU.Build.0 = Release|Any CPU
{349D4C87-E17F-4F51-B493-1994BF631D37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{349D4C87-E17F-4F51-B493-1994BF631D37}.Debug|Any CPU.Build.0 = Debug|Any CPU
{349D4C87-E17F-4F51-B493-1994BF631D37}.Release|Any CPU.ActiveCfg = Release|Any CPU
{349D4C87-E17F-4F51-B493-1994BF631D37}.Release|Any CPU.Build.0 = Release|Any CPU
{493FC3E3-34FE-4F8D-AF37-38A5F5541FBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{493FC3E3-34FE-4F8D-AF37-38A5F5541FBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{493FC3E3-34FE-4F8D-AF37-38A5F5541FBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{493FC3E3-34FE-4F8D-AF37-38A5F5541FBD}.Release|Any CPU.Build.0 = Release|Any CPU
{82CDD590-2409-4C7E-8AF4-07C7D718D4D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{82CDD590-2409-4C7E-8AF4-07C7D718D4D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{82CDD590-2409-4C7E-8AF4-07C7D718D4D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{82CDD590-2409-4C7E-8AF4-07C7D718D4D8}.Release|Any CPU.Build.0 = Release|Any CPU
{120E4BF9-4A42-4BB9-A0B2-9597160D6E37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{120E4BF9-4A42-4BB9-A0B2-9597160D6E37}.Debug|Any CPU.Build.0 = Debug|Any CPU
{120E4BF9-4A42-4BB9-A0B2-9597160D6E37}.Release|Any CPU.ActiveCfg = Release|Any CPU
{120E4BF9-4A42-4BB9-A0B2-9597160D6E37}.Release|Any CPU.Build.0 = Release|Any CPU
{39EBECE7-538B-431C-AAB7-901AB16E6D4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{39EBECE7-538B-431C-AAB7-901AB16E6D4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{39EBECE7-538B-431C-AAB7-901AB16E6D4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{39EBECE7-538B-431C-AAB7-901AB16E6D4A}.Release|Any CPU.Build.0 = Release|Any CPU
{5A3C9D59-21FE-4BE3-A00A-FF3F198EEC97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5A3C9D59-21FE-4BE3-A00A-FF3F198EEC97}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A3C9D59-21FE-4BE3-A00A-FF3F198EEC97}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -152,26 +124,42 @@ Global
{9A2D1E3E-328F-4E02-86F8-84974925C1E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A2D1E3E-328F-4E02-86F8-84974925C1E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A2D1E3E-328F-4E02-86F8-84974925C1E3}.Release|Any CPU.Build.0 = Release|Any CPU
{3FC85C9D-CC20-4F54-9936-029F19FBFBE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FC85C9D-CC20-4F54-9936-029F19FBFBE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FC85C9D-CC20-4F54-9936-029F19FBFBE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FC85C9D-CC20-4F54-9936-029F19FBFBE1}.Release|Any CPU.Build.0 = Release|Any CPU
{1BB8EC9E-AEBD-438B-9FA7-B7FA78999D7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1BB8EC9E-AEBD-438B-9FA7-B7FA78999D7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1BB8EC9E-AEBD-438B-9FA7-B7FA78999D7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1BB8EC9E-AEBD-438B-9FA7-B7FA78999D7D}.Release|Any CPU.Build.0 = Release|Any CPU
{ED2A4FE5-821B-46F7-B72F-E66DE0D66C93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED2A4FE5-821B-46F7-B72F-E66DE0D66C93}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED2A4FE5-821B-46F7-B72F-E66DE0D66C93}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED2A4FE5-821B-46F7-B72F-E66DE0D66C93}.Release|Any CPU.Build.0 = Release|Any CPU
{7179277B-E692-43CA-8243-3FE4FC2DD1EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7179277B-E692-43CA-8243-3FE4FC2DD1EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7179277B-E692-43CA-8243-3FE4FC2DD1EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7179277B-E692-43CA-8243-3FE4FC2DD1EA}.Release|Any CPU.Build.0 = Release|Any CPU
{1689E6C1-DD2B-4ECC-B9C8-E6A7E4E6AAA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1689E6C1-DD2B-4ECC-B9C8-E6A7E4E6AAA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1689E6C1-DD2B-4ECC-B9C8-E6A7E4E6AAA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1689E6C1-DD2B-4ECC-B9C8-E6A7E4E6AAA0}.Release|Any CPU.Build.0 = Release|Any CPU
{7BE958AF-5394-4B41-A5D6-45244CB241D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7BE958AF-5394-4B41-A5D6-45244CB241D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7BE958AF-5394-4B41-A5D6-45244CB241D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7BE958AF-5394-4B41-A5D6-45244CB241D4}.Release|Any CPU.Build.0 = Release|Any CPU
{36C1673C-FFD4-439A-8090-8858E26C6FD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36C1673C-FFD4-439A-8090-8858E26C6FD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{36C1673C-FFD4-439A-8090-8858E26C6FD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36C1673C-FFD4-439A-8090-8858E26C6FD4}.Release|Any CPU.Build.0 = Release|Any CPU
{AE6CDFF5-8ADE-438C-89F0-5B48FC2C9FF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AE6CDFF5-8ADE-438C-89F0-5B48FC2C9FF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AE6CDFF5-8ADE-438C-89F0-5B48FC2C9FF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE6CDFF5-8ADE-438C-89F0-5B48FC2C9FF4}.Release|Any CPU.Build.0 = Release|Any CPU
{122C17CF-CCE5-4F8E-9900-B7582865F6D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{122C17CF-CCE5-4F8E-9900-B7582865F6D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{122C17CF-CCE5-4F8E-9900-B7582865F6D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{122C17CF-CCE5-4F8E-9900-B7582865F6D9}.Release|Any CPU.Build.0 = Release|Any CPU
{235DA54C-336A-408F-903E-CD935012CEBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{235DA54C-336A-408F-903E-CD935012CEBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{235DA54C-336A-408F-903E-CD935012CEBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{235DA54C-336A-408F-903E-CD935012CEBC}.Release|Any CPU.Build.0 = Release|Any CPU
{715A6E74-05CD-4236-9287-1643B074117E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{715A6E74-05CD-4236-9287-1643B074117E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{715A6E74-05CD-4236-9287-1643B074117E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{715A6E74-05CD-4236-9287-1643B074117E}.Release|Any CPU.Build.0 = Release|Any CPU
{BF39E5FD-C0A3-4FDE-850E-2E4CF063C301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BF39E5FD-C0A3-4FDE-850E-2E4CF063C301}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BF39E5FD-C0A3-4FDE-850E-2E4CF063C301}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BF39E5FD-C0A3-4FDE-850E-2E4CF063C301}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -186,26 +174,23 @@ Global
{D20FCB88-9DCA-49EA-9CC2-5B94DD935D30} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{E4B71DC4-3E73-49C3-9B4E-CA13909F222D} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{C4939482-9447-47D1-B6AF-E9F8C6323841} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{76710230-AC6D-4E54-9A06-15F34C155118} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925}
{4DB0741F-EAD9-4E37-862D-A1DA12462B7D} = {76710230-AC6D-4E54-9A06-15F34C155118}
{BC0F57E2-AB64-4026-B6E3-E03D9133DB26} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{349D4C87-E17F-4F51-B493-1994BF631D37} = {76710230-AC6D-4E54-9A06-15F34C155118}
{8B87D79A-F0DE-4F88-81D3-8C8C69108ADB} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925}
{493FC3E3-34FE-4F8D-AF37-38A5F5541FBD} = {8B87D79A-F0DE-4F88-81D3-8C8C69108ADB}
{82CDD590-2409-4C7E-8AF4-07C7D718D4D8} = {76710230-AC6D-4E54-9A06-15F34C155118}
{120E4BF9-4A42-4BB9-A0B2-9597160D6E37} = {8B87D79A-F0DE-4F88-81D3-8C8C69108ADB}
{39EBECE7-538B-431C-AAB7-901AB16E6D4A} = {76710230-AC6D-4E54-9A06-15F34C155118}
{5A3C9D59-21FE-4BE3-A00A-FF3F198EEC97} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{9E1AF14C-0BEC-4BC2-810C-85FC25A9DDD4} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925}
{5E230C5F-7A64-4E95-A790-DF40CC66DA31} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925}
{72DA50EC-8A99-4D4F-BF61-DEF105BDAE10} = {9E1AF14C-0BEC-4BC2-810C-85FC25A9DDD4}
{DA91DAF2-4C59-4468-8F1D-6A500D218A1E} = {5E230C5F-7A64-4E95-A790-DF40CC66DA31}
{9A2D1E3E-328F-4E02-86F8-84974925C1E3} = {5E230C5F-7A64-4E95-A790-DF40CC66DA31}
{3FC85C9D-CC20-4F54-9936-029F19FBFBE1} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{1BB8EC9E-AEBD-438B-9FA7-B7FA78999D7D} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{ED2A4FE5-821B-46F7-B72F-E66DE0D66C93} = {35F44BE9-13D0-417C-A01A-F0787BEE6DC3}
{7179277B-E692-43CA-8243-3FE4FC2DD1EA} = {8B87D79A-F0DE-4F88-81D3-8C8C69108ADB}
{1689E6C1-DD2B-4ECC-B9C8-E6A7E4E6AAA0} = {B43B546E-23F3-46E8-ACB7-D04F05CDA180}
{67CF5B65-D24A-4280-AACE-FE96845D7925} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925}
{7BE958AF-5394-4B41-A5D6-45244CB241D4} = {67CF5B65-D24A-4280-AACE-FE96845D7925}
{36C1673C-FFD4-439A-8090-8858E26C6FD4} = {67CF5B65-D24A-4280-AACE-FE96845D7925}
{AE6CDFF5-8ADE-438C-89F0-5B48FC2C9FF4} = {67CF5B65-D24A-4280-AACE-FE96845D7925}
{122C17CF-CCE5-4F8E-9900-B7582865F6D9} = {67CF5B65-D24A-4280-AACE-FE96845D7925}
{235DA54C-336A-408F-903E-CD935012CEBC} = {67CF5B65-D24A-4280-AACE-FE96845D7925}
{715A6E74-05CD-4236-9287-1643B074117E} = {E12F5CD9-0738-4F23-9438-26B65A0C53AA}
{BF39E5FD-C0A3-4FDE-850E-2E4CF063C301} = {E12F5CD9-0738-4F23-9438-26B65A0C53AA}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8B0975FD-7050-48B0-88C5-48C33378E158}

View file

@ -22,42 +22,6 @@ namespace Elsa.Extensions
return query;
}
public static IActivity GetActivity(this WorkflowExecutionContext workflowExecutionContext, string id) => workflowExecutionContext.Activities.FirstOrDefault(x => x.Id == id);
public static WorkflowInstance CreateWorkflowInstance(this WorkflowExecutionContext workflowExecutionContext)
{
return workflowExecutionContext.UpdateWorkflowInstance(new WorkflowInstance
{
Id = workflowExecutionContext.InstanceId,
DefinitionId = workflowExecutionContext.DefinitionId,
Version = workflowExecutionContext.Version,
CreatedAt = workflowExecutionContext.ServiceProvider.GetRequiredService<IClock>().GetCurrentInstant()
});
}
public static WorkflowInstance UpdateWorkflowInstance(this WorkflowExecutionContext workflowExecutionContext, WorkflowInstance workflowInstance)
{
workflowInstance.Variables = workflowExecutionContext.Variables;
workflowInstance.ScheduledActivities = new Stack<Models.ScheduledActivity>(workflowExecutionContext.ScheduledActivities.Select(x => new Models.ScheduledActivity(x.Activity.Id, x.Input)));
workflowInstance.Activities = workflowExecutionContext.Activities.Select(x => new ActivityInstance(x.Id, x.Type, x.State, x.Output)).ToList();
workflowInstance.BlockingActivities = new HashSet<BlockingActivity>(workflowExecutionContext.BlockingActivities.Select(x => new BlockingActivity(x.Id, x.Type)), new BlockingActivityEqualityComparer());
workflowInstance.Status = workflowExecutionContext.Status;
workflowInstance.CorrelationId = workflowExecutionContext.CorrelationId;
workflowInstance.Output = workflowExecutionContext.Output;
workflowInstance.ExecutionLog = workflowExecutionContext.ExecutionLog.Select(x => new Models.ExecutionLogEntry(x.Activity.Id, x.Timestamp)).ToList();
if (workflowExecutionContext.WorkflowFault != null)
{
workflowInstance.Fault = new Models.WorkflowFault
{
FaultedActivityId = workflowExecutionContext.WorkflowFault.FaultedActivity?.Id,
Message = workflowExecutionContext.WorkflowFault.Message
};
}
return workflowInstance;
}
public static IEnumerable<Connection> GetInboundConnections(this WorkflowExecutionContext workflowExecutionContext, IActivity activity) => workflowExecutionContext.Connections.Where(x => x.Target.Activity == activity);
public static IEnumerable<Connection> GetOutboundConnections(this WorkflowExecutionContext workflowExecutionContext, IActivity activity) => workflowExecutionContext.Connections.Where(x => x.Source.Activity == activity);

View file

@ -8,6 +8,8 @@ namespace Elsa.Services.Models
{
public Workflow()
{
Activities = new List<IActivity>();
Connections = new List<Connection>();
}
public Workflow(

View file

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Comparers;
using Elsa.Expressions;
using Elsa.Models;
using Microsoft.Extensions.Localization;
@ -13,7 +14,8 @@ namespace Elsa.Services.Models
public class WorkflowExecutionContext
{
public WorkflowExecutionContext(
IExpressionEvaluator expressionEvaluator,
IExpressionEvaluator expressionEvaluator,
IClock clock,
IServiceProvider serviceProvider,
string definitionId,
string instanceId,
@ -37,6 +39,7 @@ namespace Elsa.Services.Models
Activities = activities.ToList();
Connections = connections.ToList();
ExpressionEvaluator = expressionEvaluator;
Clock = clock;
ScheduledActivities = scheduledActivities != null ? new Stack<ScheduledActivity>(scheduledActivities) : new Stack<ScheduledActivity>();
BlockingActivities = blockingActivities != null ? new HashSet<IActivity>(blockingActivities) : new HashSet<IActivity>();
Variables = variables ?? new Variables();
@ -78,6 +81,7 @@ namespace Elsa.Services.Models
public ScheduledActivity PopScheduledActivity() => ScheduledActivity = ScheduledActivities.Pop();
public ScheduledActivity PeekScheduledActivity() => ScheduledActivities.Peek();
public IExpressionEvaluator ExpressionEvaluator { get; }
public IClock Clock { get; }
public string InstanceId { get; set; }
public int Version { get; }
public string CorrelationId { get; set; }
@ -111,5 +115,41 @@ namespace Elsa.Services.Models
{
Status = WorkflowStatus.Completed;
}
public IActivity GetActivity(string id) => Activities.FirstOrDefault(x => x.Id == id);
public WorkflowInstance CreateWorkflowInstance()
{
return UpdateWorkflowInstance(new WorkflowInstance
{
Id = InstanceId,
DefinitionId = DefinitionId,
Version = Version,
CreatedAt = Clock.GetCurrentInstant()
});
}
public WorkflowInstance UpdateWorkflowInstance(WorkflowInstance workflowInstance)
{
workflowInstance.Variables = Variables;
workflowInstance.ScheduledActivities = new Stack<Elsa.Models.ScheduledActivity>(ScheduledActivities.Select(x => new Elsa.Models.ScheduledActivity(x.Activity.Id, x.Input)));
workflowInstance.Activities = Activities.Select(x => new ActivityInstance(x.Id, x.Type, x.State, x.Output)).ToList();
workflowInstance.BlockingActivities = new HashSet<BlockingActivity>(BlockingActivities.Select(x => new BlockingActivity(x.Id, x.Type)), new BlockingActivityEqualityComparer());
workflowInstance.Status = Status;
workflowInstance.CorrelationId = CorrelationId;
workflowInstance.Output = Output;
workflowInstance.ExecutionLog = ExecutionLog.Select(x => new Elsa.Models.ExecutionLogEntry(x.Activity.Id, x.Timestamp)).ToList();
if (WorkflowFault != null)
{
workflowInstance.Fault = new Elsa.Models.WorkflowFault
{
FaultedActivityId = WorkflowFault.FaultedActivity?.Id,
Message = WorkflowFault.Message
};
}
return workflowInstance;
}
}
}

View file

@ -13,6 +13,7 @@ using Elsa.Results;
using Elsa.Services.Models;
using MediatR;
using Microsoft.Extensions.Logging;
using NodaTime;
using ScheduledActivity = Elsa.Services.Models.ScheduledActivity;
namespace Elsa.Services
@ -28,7 +29,7 @@ namespace Elsa.Services
private readonly IWorkflowInstanceStore workflowInstanceStore;
private readonly IWorkflowActivator workflowActivator;
private readonly IExpressionEvaluator expressionEvaluator;
private readonly IIdGenerator idGenerator;
private readonly IClock clock;
private readonly IMediator mediator;
private readonly IServiceProvider serviceProvider;
private readonly ILogger logger;
@ -38,7 +39,7 @@ namespace Elsa.Services
IWorkflowInstanceStore workflowInstanceStore,
IWorkflowActivator workflowActivator,
IExpressionEvaluator expressionEvaluator,
IIdGenerator idGenerator,
IClock clock,
IMediator mediator,
IServiceProvider serviceProvider,
ILogger<WorkflowHost> logger)
@ -47,7 +48,7 @@ namespace Elsa.Services
this.workflowInstanceStore = workflowInstanceStore;
this.workflowActivator = workflowActivator;
this.expressionEvaluator = expressionEvaluator;
this.idGenerator = idGenerator;
this.clock = clock;
this.mediator = mediator;
this.serviceProvider = serviceProvider;
this.logger = logger;
@ -237,6 +238,7 @@ namespace Elsa.Services
WorkflowPersistenceBehavior persistenceBehavior = WorkflowPersistenceBehavior.WorkflowExecuted)
=> new WorkflowExecutionContext(
expressionEvaluator,
clock,
serviceProvider,
workflowDefinitionId,
workflowInstanceId,

View file

@ -18,15 +18,15 @@
<PackageReference Include="coverlet.collector" Version="1.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\src\core\Elsa.Core\Elsa.Core.csproj" />
<ProjectReference Include="..\..\shared\Elsa.Testing.Shared\Elsa.Testing.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="Elsa.Core.UnitTests.xunit.runner.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\src\core\Elsa.Core\Elsa.Core.csproj" />
<ProjectReference Include="..\..\shared\Elsa.Testing.Shared\Elsa.Testing.Shared.csproj" />
</ItemGroup>
</Project>

View file

@ -21,11 +21,12 @@ namespace Elsa.Core.UnitTests
{
public class WorkflowHostTests
{
private readonly IFixture fixture;
private readonly WorkflowHost workflowHost;
public WorkflowHostTests()
{
var fixture = new Fixture().Customize(new NodaTimeCustomization());
fixture = new Fixture().Customize(new NodaTimeCustomization());
var workflowActivatorMock = new Mock<IWorkflowActivator>();
var idGeneratorMock = new Mock<IIdGenerator>();
var workflowRegistryMock = new Mock<IWorkflowRegistry>();
@ -33,16 +34,20 @@ namespace Elsa.Core.UnitTests
var workflowExpressionEvaluatorMock = new Mock<IExpressionEvaluator>();
var mediatorMock = new Mock<IMediator>();
var now = fixture.Create<Instant>();
var fakeClock = new FakeClock(now);
var clock = new FakeClock(now);
var logger = new NullLogger<WorkflowHost>();
var serviceProvider = new ServiceCollection().BuildServiceProvider();
workflowActivatorMock
.Setup(x => x.ActivateAsync(It.IsAny<Workflow>(), It.IsAny<string?>(), It.IsAny<CancellationToken>()))
.ReturnsAsync((Workflow workflow, string? correlationId, CancellationToken cancellationToken) => new WorkflowInstance());
workflowHost = new WorkflowHost(
workflowRegistryMock.Object,
workflowInstanceStoreMock.Object,
workflowActivatorMock.Object,
workflowExpressionEvaluatorMock.Object,
idGeneratorMock.Object,
clock,
mediatorMock.Object,
serviceProvider,
logger);
@ -51,7 +56,8 @@ namespace Elsa.Core.UnitTests
[Fact(DisplayName = "Can run simple workflow to completed state.")]
public async Task RunAsync01()
{
var activity = CreateActivity();
var activityExecutionResultMock = new Mock<IActivityExecutionResult>();
var activity = CreateActivity(activityExecutionResult: activityExecutionResultMock.Object);
var workflow = CreateWorkflow(activity);
var executionContext = await workflowHost.RunWorkflowAsync(workflow);
@ -73,7 +79,10 @@ namespace Elsa.Core.UnitTests
private IActivity CreateActivity(bool canExecute = true, IActivityExecutionResult? activityExecutionResult = null)
{
var activityMock = new Mock<IActivity>();
var activityId = fixture.Create<string>();
activityMock.Setup(x => x.Id).Returns(activityId);
activityMock
.Setup(x => x.CanExecuteAsync(It.IsAny<ActivityExecutionContext>(), It.IsAny<CancellationToken>()))
.ReturnsAsync(canExecute);