Browse Source
Use `EphemeralMongo` in template project.
pull/16390/head
maliming
3 years ago
No known key found for this signature in database
GPG Key ID: A646B9CB645ECEA4
4 changed files with
26 additions and
7 deletions
-
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDb/MyProjectNameMongoDbFixture.cs
-
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MongoDb/MyProjectNameMongoDbTestModule.cs
-
templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
-
templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj
|
|
|
@ -5,13 +5,26 @@ namespace MyCompanyName.MyProjectName.MongoDB; |
|
|
|
|
|
|
|
public class MyProjectNameMongoDbFixture : IDisposable |
|
|
|
{ |
|
|
|
private static readonly MongoDbRunner MongoDbRunner; |
|
|
|
public static readonly string ConnectionString; |
|
|
|
public readonly static IMongoRunner MongoDbRunner; |
|
|
|
|
|
|
|
static MyProjectNameMongoDbFixture() |
|
|
|
{ |
|
|
|
MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20); |
|
|
|
ConnectionString = MongoDbRunner.ConnectionString; |
|
|
|
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() |
|
|
|
|
|
|
|
@ -14,7 +14,7 @@ public class MyProjectNameMongoDbTestModule : AbpModule |
|
|
|
{ |
|
|
|
Configure<AbpDbConnectionOptions>(options => |
|
|
|
{ |
|
|
|
options.ConnectionStrings.Default = MongoDbFixture.GetRandomConnectionString(); |
|
|
|
options.ConnectionStrings.Default = MyProjectNameMongoDbFixture.GetRandomConnectionString(); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -15,7 +15,10 @@ |
|
|
|
|
|
|
|
<ItemGroup> |
|
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" /> |
|
|
|
<PackageReference Include="Mongo2Go" Version="3.1.3" /> |
|
|
|
<PackageReference Include="EphemeralMongo.Core" Version="1.0.0" /> |
|
|
|
<PackageReference Include="EphemeralMongo6.runtime.linux-x64" Version="1.0.0" Condition="$([MSBuild]::IsOSPlatform('Linux'))" /> |
|
|
|
<PackageReference Include="EphemeralMongo6.runtime.osx-x64" Version="1.0.0" Condition="$([MSBuild]::IsOSPlatform('OSX'))" /> |
|
|
|
<PackageReference Include="EphemeralMongo6.runtime.win-x64" Version="1.0.0" Condition="$([MSBuild]::IsOSPlatform('Windows'))" /> |
|
|
|
</ItemGroup> |
|
|
|
|
|
|
|
</Project> |
|
|
|
|
|
|
|
@ -10,7 +10,10 @@ |
|
|
|
|
|
|
|
<ItemGroup> |
|
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" /> |
|
|
|
<PackageReference Include="Mongo2Go" Version="3.1.3" /> |
|
|
|
<PackageReference Include="EphemeralMongo.Core" Version="1.0.0" /> |
|
|
|
<PackageReference Include="EphemeralMongo6.runtime.linux-x64" Version="1.0.0" Condition="$([MSBuild]::IsOSPlatform('Linux'))" /> |
|
|
|
<PackageReference Include="EphemeralMongo6.runtime.osx-x64" Version="1.0.0" Condition="$([MSBuild]::IsOSPlatform('OSX'))" /> |
|
|
|
<PackageReference Include="EphemeralMongo6.runtime.win-x64" Version="1.0.0" Condition="$([MSBuild]::IsOSPlatform('Windows'))" /> |
|
|
|
<ProjectReference Include="..\..\src\MyCompanyName.MyProjectName.MongoDB\MyCompanyName.MyProjectName.MongoDB.csproj" /> |
|
|
|
<ProjectReference Include="..\MyCompanyName.MyProjectName.TestBase\MyCompanyName.MyProjectName.TestBase.csproj" /> |
|
|
|
</ItemGroup> |
|
|
|
|