async Task PerformTest(ElsaHostBuilderBuilder hostBuilderBuilder)
        {
            var hostBuilder = hostBuilderBuilder.GetHostBuilder();

            hostBuilder.ConfigureServices((ctx, services) => {
                services.AddHostedService <HostedWorkflowRunner <DuplicateActivitiesWorkflow> >();
            });
            var host = await hostBuilder.StartAsync();
        }
コード例 #2
0
        public void AddQuartzTemporalActivitiesDoesNotThrowDuringStartup([WithQuartz] ElsaHostBuilderBuilder hostBuilderBuilder)
        {
            var hostBuilder = hostBuilderBuilder.GetHostBuilder();

            var cancellationSource = new CancellationTokenSource();

            try
            {
                StartAppAndAllowToRun(hostBuilder, cancellationToken: cancellationSource.Token);
            }
            catch (Exception e)
            {
                Assert.False(true, $"Test failed because starting the app threw an exception:\n\n{e}");
            }
            finally
            {
                CancelAndSquelchExceptions(cancellationSource);
            }
        }
コード例 #3
0
        public async Task RunningAWorkflowThatIncludesJsonStringifyAParsedObjectShouldNotThrow([WithJavaScriptExpressions] ElsaHostBuilderBuilder hostBuilderBuilder)
        {
            var hostBuilder = hostBuilderBuilder.GetHostBuilder();

            hostBuilder.ConfigureServices((ctx, services) => services.AddHostedService <HostedWorkflowRunner>());
            var host = await hostBuilder.StartAsync();
        }
コード例 #4
0
        public async Task APersistableOnWorkflowBurstWorkflowInstanceShouldBeRoundTrippable([WithPersistableWorkflow] ElsaHostBuilderBuilder hostBuilderBuilder)
        {
            var hostBuilder = hostBuilderBuilder.GetHostBuilder();

            hostBuilder.ConfigureServices((ctx, services) => {
                services.AddHostedService <HostedWorkflowRunner <PersistableWorkflow.OnWorkflowBurst> >();
            });
            var host = await hostBuilder.StartAsync();
        }
コード例 #5
0
        public async Task APersistableWorkflowInstanceWithDefaultPersistenceBehaviourShouldBeRoundTrippable([WithPersistableWorkflow, WithEntityFramework] ElsaHostBuilderBuilder hostBuilderBuilder)
        {
            var hostBuilder = hostBuilderBuilder.GetHostBuilder();

            hostBuilder.ConfigureServices((ctx, services) => services.AddHostedService <HostedWorkflowRunner>());
            var host = await hostBuilder.StartAsync();
        }
 public async Task ADuplicateActivitiesWorkflowInstanceShouldBeRoundTrippableWithYesSql([WithDuplicateActivitiesWorkflow, WithSqliteYesSql] ElsaHostBuilderBuilder hostBuilderBuilder)
 {
     await PerformTest(hostBuilderBuilder);
 }
 public async Task ADuplicateActivitiesWorkflowInstanceShouldBeRoundTrippableWithEntityFramework([WithDuplicateActivitiesWorkflow, WithEntityFramework] ElsaHostBuilderBuilder hostBuilderBuilder)
 {
     await PerformTest(hostBuilderBuilder);
 }
 public async Task ADuplicateActivitiesWorkflowInstanceShouldBeRoundTrippableInMemory([WithDuplicateActivitiesWorkflow] ElsaHostBuilderBuilder hostBuilderBuilder)
 {
     await PerformTest(hostBuilderBuilder);
 }
コード例 #9
0
        public void AddCommonTemporalActivitiesThrowsDuringStartupIfNoTemporalImplementationPresent([WithCommonTemporalActivities] ElsaHostBuilderBuilder hostBuilderBuilder)
        {
            var hostBuilder = hostBuilderBuilder.GetHostBuilder();

            var cancellationSource = new CancellationTokenSource();

            try
            {
                Assert.ThrowsAsync <InvalidOperationException>(() => StartAppAndAllowToRun(hostBuilder, cancellationToken: cancellationSource.Token));
            }
            finally
            {
                // If the test passed then this line doesn't do anything.
                // If the test fails though, then this prevents it from stalling test execution.
                CancelAndSquelchExceptions(cancellationSource);
            }
        }