26 lines
627 B
C#
26 lines
627 B
C#
using Mongo2Go;
|
|
using MongoDB.Driver;
|
|
|
|
namespace LCU.API.Internal.Document.PerformanceTest.DB;
|
|
|
|
public class LocalMongoDatabase : IDatabase
|
|
{
|
|
private MongoDbRunner? _mongoDb;
|
|
|
|
public Task<IMongoClient> SpinUp()
|
|
{
|
|
_mongoDb ??= MongoDbRunner.Start();
|
|
|
|
return Task.FromResult<IMongoClient>(new MongoClient(ConnectionString));
|
|
}
|
|
|
|
public Task TearDown()
|
|
{
|
|
_mongoDb?.Dispose();
|
|
_mongoDb = null;
|
|
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
public string ConnectionString => _mongoDb?.ConnectionString ?? throw new InvalidOperationException("spin up the database first");
|
|
} |