You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/modules/tenant-management/test/Volo.Abp.TenantManagement.M.../Volo/Abp/TenantManagement/MongoDb/MongoDbFixture.cs

37 lines
899 B

using System;
using EphemeralMongo;
using MongoDB.Driver;
using Volo.Abp.MongoDB;
namespace Volo.Abp.TenantManagement.MongoDB;
public class MongoDbFixture : IDisposable
{
public readonly static IMongoRunner MongoDbRunner;
static MongoDbFixture()
{
MongoDbRunner = MongoRunner.Run(new MongoRunnerOptions
{
UseSingleNodeReplicaSet = true
});
}
public static string GetRandomConnectionString()
{
return GetConnectionString("Db_" + Guid.NewGuid().ToString("N"));
}
public static string GetConnectionString(string databaseName)
{
var stringArray = MongoDbRunner.ConnectionString.Split('?');
var connectionString = stringArray[0].EnsureEndsWith('/') + databaseName + "/?" + stringArray[1];
return connectionString;
}
public void Dispose()
{
MongoDbRunner?.Dispose();
}
}