Browse Source

Update unit tests

pull/9978/head
liangshiwei 5 years ago
parent
commit
347c8ca639
  1. 31
      modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs

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

@ -1,8 +1,13 @@
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;
namespace Volo.Abp.Identity.MongoDB
{
@ -25,5 +30,31 @@ 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)
{
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));
}
}
}
}

Loading…
Cancel
Save