async Task PerformTest(ElsaHostBuilderBuilder hostBuilderBuilder) { var hostBuilder = hostBuilderBuilder.GetHostBuilder(); hostBuilder.ConfigureServices((ctx, services) => { services.AddHostedService <HostedWorkflowRunner <DuplicateActivitiesWorkflow> >(); }); var host = await hostBuilder.StartAsync(); }
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); } }
public async Task RunningAWorkflowThatIncludesJsonStringifyAParsedObjectShouldNotThrow([WithJavaScriptExpressions] ElsaHostBuilderBuilder hostBuilderBuilder) { var hostBuilder = hostBuilderBuilder.GetHostBuilder(); hostBuilder.ConfigureServices((ctx, services) => services.AddHostedService <HostedWorkflowRunner>()); var host = await hostBuilder.StartAsync(); }
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(); }
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); }
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); } }