Browse Source

Disable transaction for MongoDB in the unit test.

pull/9978/head
maliming 4 years ago
parent
commit
dfc474554b
  1. 34
      modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs

34
modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs

@ -1,13 +1,8 @@
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using MongoDB.Driver;
using Volo.Abp.Data;
using Volo.Abp.Modularity;
using Volo.Abp.MongoDB;
using Volo.Abp.Uow;
using Volo.Abp.PermissionManagement.MongoDB;
using Volo.Abp.Threading;
using Volo.Abp.Uow;
namespace Volo.Abp.Identity.MongoDB
{
@ -29,32 +24,11 @@ namespace Volo.Abp.Identity.MongoDB
{
options.ConnectionStrings.Default = connectionString;
});
}
public override void OnPreApplicationInitialization(ApplicationInitializationContext context)
{
InitializeCollections(context);
}
private static void InitializeCollections(ApplicationInitializationContext context)
{
var dbContexts = context.ServiceProvider.GetServices<IAbpMongoDbContext>();
var connectionStringResolver = context.ServiceProvider.GetRequiredService<IConnectionStringResolver>();
foreach (var dbContext in dbContexts)
Configure<AbpUnitOfWorkDefaultOptions>(options =>
{
var connectionString = AsyncHelper.RunSync(()=> connectionStringResolver.ResolveAsync(ConnectionStringNameAttribute.GetConnStringName(dbContext.GetType())));
var mongoUrl = new MongoUrl(connectionString);
var databaseName = mongoUrl.DatabaseName;
var client = new MongoClient(mongoUrl);
if (databaseName.IsNullOrWhiteSpace())
{
databaseName = ConnectionStringNameAttribute.GetConnStringName(dbContext.GetType());
}
(dbContext as AbpMongoDbContext)?.InitializeCollections(client.GetDatabase(databaseName));
}
options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
});
}
}
}

Loading…
Cancel
Save