* fix EFCore add migration issue * update test * Resolved breaking changes and code review comments. * Removed extra line break. --------- Co-authored-by: Andy Butland <abutland73@gmail.com>
71 lines
2.2 KiB
C#
71 lines
2.2 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using NUnit.Framework;
|
|
using Umbraco.Cms.Tests.Common.Testing;
|
|
using Umbraco.Cms.Tests.Integration.Testing;
|
|
|
|
namespace Umbraco.Cms.Tests.Integration.Umbraco.Persistence.EFCore.DbContext;
|
|
|
|
[TestFixture]
|
|
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, Logger = UmbracoTestOptions.Logger.Console)]
|
|
internal sealed class CustomDbContextUmbracoProviderTests : UmbracoIntegrationTest
|
|
{
|
|
[Test]
|
|
public void Can_Register_Custom_DbContext_And_Resolve()
|
|
{
|
|
var dbContext = Services.GetRequiredService<CustomDbContext>();
|
|
|
|
Assert.IsNotNull(dbContext);
|
|
Assert.IsNotEmpty(dbContext.Database.GetConnectionString());
|
|
}
|
|
|
|
protected override void CustomTestSetup(IUmbracoBuilder builder)
|
|
{
|
|
builder.Services.AddUmbracoDbContext<CustomDbContext>((serviceProvider, options, connectionString, providerName) =>
|
|
{
|
|
options.UseUmbracoDatabaseProvider(serviceProvider);
|
|
});
|
|
}
|
|
|
|
internal class CustomDbContext : Microsoft.EntityFrameworkCore.DbContext
|
|
{
|
|
public CustomDbContext(DbContextOptions<CustomDbContext> options)
|
|
: base(options)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
[TestFixture]
|
|
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, Logger = UmbracoTestOptions.Logger.Console)]
|
|
public class CustomDbContextCustomSqliteProviderTests : UmbracoIntegrationTest
|
|
{
|
|
[Test]
|
|
public void Can_Register_Custom_DbContext_And_Resolve()
|
|
{
|
|
var dbContext = Services.GetRequiredService<CustomDbContext>();
|
|
|
|
Assert.IsNotNull(dbContext);
|
|
Assert.IsNotEmpty(dbContext.Database.GetConnectionString());
|
|
}
|
|
|
|
protected override void CustomTestSetup(IUmbracoBuilder builder)
|
|
{
|
|
builder.Services.AddUmbracoDbContext<CustomDbContext>((serviceProvider, options, connectionString, providerName) =>
|
|
{
|
|
options.UseSqlite("Data Source=:memory:;Version=3;New=True;");
|
|
});
|
|
}
|
|
|
|
internal class CustomDbContext : Microsoft.EntityFrameworkCore.DbContext
|
|
{
|
|
public CustomDbContext(DbContextOptions<CustomDbContext> options)
|
|
: base(options)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|