Fix component tests

This commit is contained in:
Sipke Schoorstra 2021-05-24 17:57:21 +02:00
parent c7deab2a88
commit e945e58ecf
5 changed files with 12 additions and 16 deletions

View file

@ -5,7 +5,7 @@ namespace Elsa.Persistence.EntityFramework.Sqlite
{
public static class DbContextOptionsBuilderExtensions
{
public static DbContextOptionsBuilder UseSqlite(this DbContextOptionsBuilder builder) => builder.UseSqlite("Data Source=elsa.sqlite.db;Cache=Shared;", db => db
public static DbContextOptionsBuilder UseSqlite(this DbContextOptionsBuilder builder, string connectionString = "Data Source=elsa.sqlite.db;Cache=Shared;") => builder.UseSqlite(connectionString, db => db
.MigrationsAssembly(typeof(SqliteElsaContextFactory).Assembly.GetName().Name)
.MigrationsHistoryTable(ElsaContext.MigrationsHistoryTable, ElsaContext.ElsaSchema));
}

View file

@ -1,17 +1,16 @@
using System;
using Elsa.Activities.UserTask.Extensions;
using Elsa.Caching.Rebus.Extensions;
using Elsa.Persistence.EntityFramework.Core.Extensions;
using Elsa.Persistence.EntityFramework.SqlServer;
using Elsa.Persistence.EntityFramework.Sqlite;
using Elsa.Persistence.YesSql;
using Elsa.Rebus.RabbitMq;
using Elsa.Samples.Server.Host.Activities;
using Hangfire;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Quartz;
using YesSql.Provider.PostgreSql;
namespace Elsa.Samples.Server.Host
{
@ -30,6 +29,7 @@ namespace Elsa.Samples.Server.Host
{
var elsaSection = Configuration.GetSection("Elsa");
var sqlServerConnectionString = Configuration.GetConnectionString("SqlServer");
var sqliteConnectionString = Configuration.GetConnectionString("Sqlite");
services.AddControllers();
@ -39,8 +39,9 @@ namespace Elsa.Samples.Server.Host
//.AddRedis(Configuration.GetConnectionString("Redis"))
.AddElsa(elsa => elsa
.WithContainerName(Configuration["ContainerName"] ?? System.Environment.MachineName)
.UseEntityFrameworkPersistence(ef => ef.UseSqlServer(sqlServerConnectionString))
.UseRabbitMq(Configuration.GetConnectionString("RabbitMq"))
.UseEntityFrameworkPersistence(ef => ef.UseSqlite(sqliteConnectionString))
//.UseYesSqlPersistence(config => config.UsePostgreSql("Server=localhost;Port=5432;Database=yessql5;User Id=root;Password=Password12!;"))
//.UseRabbitMq(Configuration.GetConnectionString("RabbitMq"))
.UseRebusCacheSignal()
//.UseRedisCacheSignal()
.AddConsoleActivities()

View file

@ -11,7 +11,8 @@
"ConnectionStrings": {
"RabbitMq": "amqp://localhost:5672",
"Redis": "localhost:6379,abortConnect=false",
"SqlServer": "Server=LAPTOP-B76STK67;Database=Elsa;Integrated Security=true;MultipleActiveResultSets=True;Max Pool Size=500;Connection Timeout=3600"
"SqlServer": "Server=LAPTOP-B76STK67;Database=Elsa;Integrated Security=true;MultipleActiveResultSets=True;Max Pool Size=500;Connection Timeout=3600",
"Sqlite": "Data Source=elsa.sqlite.db;Cache=Shared;"
},
"Elsa": {
"Http": {

View file

@ -6,7 +6,6 @@ namespace Elsa.ComponentTests.Helpers
{
public abstract class ElsaClientTestBase : TestBase
{
protected ElsaClientTestBase(ElsaHostApplicationFactory hostApplicationFactory) : base(hostApplicationFactory)
{
var services = new ServiceCollection().AddElsaClient(options => options.ServerUrl = HttpClient.BaseAddress!, () => HttpClient).BuildServiceProvider();

View file

@ -7,23 +7,18 @@ namespace Elsa.ComponentTests.Helpers
{
public abstract class WorkflowsComponentTestBase : IDisposable
{
protected WorkflowsComponentTestBase(ElsaHostApplicationFactory hostApplicationFactory)
{
HostApplicationFactory = hostApplicationFactory;
Fixture = new Fixture().Customize(new NodaTimeCustomization());
TempFolder = new TemporaryFolder();
hostApplicationFactory.SetDbConnectionString($@"Data Source={TempFolder.Folder}elsa.db;Cache=Shared");
hostApplicationFactory.SetDbConnectionString($@"Data Source={TempFolder.Folder}-elsa.db;Cache=Shared");
}
protected ElsaHostApplicationFactory HostApplicationFactory { get; }
protected IFixture Fixture { get; }
protected TemporaryFolder TempFolder { get; }
public virtual void Dispose()
{
TempFolder.Dispose();
}
public virtual void Dispose() => TempFolder.Dispose();
}
}