-
Notifications
You must be signed in to change notification settings - Fork 23
/
MongoDbFixture.cs
35 lines (30 loc) · 954 Bytes
/
MongoDbFixture.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using EphemeralMongo;
namespace EasyAbp.UniappManagement.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();
}
}
}