add girIgnore
This commit is contained in:
Executable
+69
@@ -0,0 +1,69 @@
|
||||
using audit_logs.Utils;
|
||||
|
||||
namespace audit_test.Repository;
|
||||
using Mongo2Go;
|
||||
using MongoDB.Bson;
|
||||
using MongoDB.Driver;
|
||||
|
||||
[SetUpFixture]
|
||||
[Category("Integration")]
|
||||
public class IntegrationDb
|
||||
{
|
||||
public static MongoDbRunner Runner { get { return _runner; } }
|
||||
public static MongoClient Client { get { return _client; } }
|
||||
public static IMongoDatabase Database { get; private set; } = null!;
|
||||
|
||||
private static MongoDbRunner _runner = null!;
|
||||
private static MongoClient _client = null!;
|
||||
|
||||
private const int TimeoutInSeconds = 60; // Set the desired timeout in seconds.
|
||||
public static string DatabaseName { get; private set; } = "IntegrationTestDb";
|
||||
|
||||
[OneTimeSetUp]
|
||||
public void InitIntegrationTests()
|
||||
{
|
||||
StartMongoDbRunner().Wait();
|
||||
MongoDbHostBuilderExtension.ConfigureMongoDbConventions();
|
||||
//MongoDbHostBuilderExtension.ConfigureRegisterMapClass();
|
||||
_client = new MongoClient(_runner.ConnectionString);
|
||||
Database = _client.GetDatabase(DatabaseName);
|
||||
}
|
||||
|
||||
private static async Task StartMongoDbRunner()
|
||||
{
|
||||
_runner = MongoDbRunner.Start();
|
||||
|
||||
// Wait for the MongoDB server to become available or timeout.
|
||||
var startTime = DateTime.UtcNow;
|
||||
while (DateTime.UtcNow - startTime < TimeSpan.FromSeconds(TimeoutInSeconds))
|
||||
{
|
||||
try
|
||||
{
|
||||
var testClient = new MongoClient(_runner.ConnectionString);
|
||||
var adminDb = testClient.GetDatabase("admin");
|
||||
await adminDb.RunCommandAsync((Command<BsonDocument>)"{ping:1}");
|
||||
return; // MongoDB server is available, continue.
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Retry after a short delay.
|
||||
await Task.Delay(500);
|
||||
}
|
||||
}
|
||||
|
||||
// Timeout reached, dispose the runner and throw an exception.
|
||||
_runner?.Dispose();
|
||||
throw new TimeoutException("Timeout while starting MongoDB server.");
|
||||
}
|
||||
|
||||
[OneTimeTearDown]
|
||||
public void TeardownIntegrationTests()
|
||||
{
|
||||
_runner?.Dispose();
|
||||
_runner = null;
|
||||
_client = null;
|
||||
Database = null;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user