mirror of https://github.com/abpframework/abp.git
5 changed files with 43 additions and 62 deletions
@ -1,11 +1,27 @@ |
|||
using System; |
|||
using System.Threading.Tasks; |
|||
using Testcontainers.MsSql; |
|||
using Xunit; |
|||
|
|||
namespace MyCompanyName.MyProjectName.EntityFrameworkCore; |
|||
|
|||
public class MyProjectNameEntityFrameworkCoreFixture : IDisposable |
|||
public class MyProjectNameEntityFrameworkCoreFixture : IAsyncLifetime |
|||
{ |
|||
public void Dispose() |
|||
private readonly static MsSqlContainer _msSqlContainer = new MsSqlBuilder().Build(); |
|||
|
|||
public async Task InitializeAsync() |
|||
{ |
|||
await _msSqlContainer.StartAsync(); |
|||
} |
|||
|
|||
public static string GetRandomConnectionString() |
|||
{ |
|||
var randomDbName = "Database=Db_" + Guid.NewGuid().ToString("N"); |
|||
return _msSqlContainer.GetConnectionString().Replace("Database=master", randomDbName, StringComparison.OrdinalIgnoreCase); |
|||
} |
|||
|
|||
public async Task DisposeAsync() |
|||
{ |
|||
await _msSqlContainer.DisposeAsync().AsTask(); |
|||
} |
|||
} |
|||
|
|||
@ -1,34 +1,27 @@ |
|||
using System; |
|||
using EphemeralMongo; |
|||
using System.Threading.Tasks; |
|||
using Testcontainers.MongoDb; |
|||
using Xunit; |
|||
|
|||
namespace MyCompanyName.MyProjectName.MongoDB; |
|||
|
|||
public class MyProjectNameMongoDbFixture : IDisposable |
|||
public class MyProjectNameMongoDbFixture : IAsyncLifetime |
|||
{ |
|||
public readonly static IMongoRunner MongoDbRunner; |
|||
private readonly static MongoDbContainer _mongoDbContainer = new MongoDbBuilder().WithCommand().Build(); |
|||
|
|||
static MyProjectNameMongoDbFixture() |
|||
public async Task InitializeAsync() |
|||
{ |
|||
MongoDbRunner = MongoRunner.Run(new MongoRunnerOptions |
|||
{ |
|||
UseSingleNodeReplicaSet = true |
|||
}); |
|||
await _mongoDbContainer.StartAsync(); |
|||
} |
|||
|
|||
public static string GetRandomConnectionString() |
|||
{ |
|||
return GetConnectionString("Db_" + Guid.NewGuid().ToString("N")); |
|||
var randomDbName = "Db_" + Guid.NewGuid().ToString("N"); |
|||
return _mongoDbContainer.GetConnectionString().EnsureEndsWith('/') + randomDbName + "?authSource=admin"; |
|||
} |
|||
|
|||
public static string GetConnectionString(string databaseName) |
|||
public async Task DisposeAsync() |
|||
{ |
|||
var stringArray = MongoDbRunner.ConnectionString.Split('?'); |
|||
var connectionString = stringArray[0].EnsureEndsWith('/') + databaseName + "/?" + stringArray[1]; |
|||
return connectionString; |
|||
} |
|||
|
|||
public void Dispose() |
|||
{ |
|||
MongoDbRunner?.Dispose(); |
|||
await _mongoDbContainer.DisposeAsync().AsTask(); |
|||
} |
|||
} |
|||
|
|||
Loading…
Reference in new issue