Skip to content

Commit a28599e

Browse files
committed
Use ContainerTest for MongoDbContainerTest
1 parent 67486d9 commit a28599e

File tree

3 files changed

+18
-26
lines changed

3 files changed

+18
-26
lines changed

tests/Testcontainers.MongoDb.Tests/MongoDbContainerTest.cs

+13-25
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,18 @@
11
namespace Testcontainers.MongoDb;
22

3-
public abstract class MongoDbContainerTest : IAsyncLifetime
3+
public abstract class MongoDbContainerTest : ContainerTest<MongoDbBuilder, MongoDbContainer>
44
{
5-
private readonly MongoDbContainer _mongoDbContainer;
6-
7-
private MongoDbContainerTest(MongoDbContainer mongoDbContainer)
8-
{
9-
_mongoDbContainer = mongoDbContainer;
10-
}
11-
12-
public Task InitializeAsync()
13-
{
14-
return _mongoDbContainer.StartAsync();
15-
}
16-
17-
public Task DisposeAsync()
5+
protected MongoDbContainerTest(ITestOutputHelper testOutputHelper, Func<MongoDbBuilder, MongoDbBuilder> configure = null)
6+
: base(testOutputHelper, configure)
187
{
19-
return _mongoDbContainer.DisposeAsync().AsTask();
208
}
219

2210
[Fact]
2311
[Trait(nameof(DockerCli.DockerPlatform), nameof(DockerCli.DockerPlatform.Linux))]
2412
public void ConnectionStateReturnsOpen()
2513
{
2614
// Given
27-
var client = new MongoClient(_mongoDbContainer.GetConnectionString());
15+
var client = new MongoClient(Container.GetConnectionString());
2816

2917
// When
3018
using var databases = client.ListDatabases();
@@ -41,7 +29,7 @@ public async Task ExecScriptReturnsSuccessful()
4129
const string scriptContent = "printjson(db.adminCommand({listDatabases:1,nameOnly:true,filter:{\"name\":/^admin/}}));";
4230

4331
// When
44-
var execResult = await _mongoDbContainer.ExecScriptAsync(scriptContent)
32+
var execResult = await Container.ExecScriptAsync(scriptContent)
4533
.ConfigureAwait(false);
4634

4735
// When
@@ -51,35 +39,35 @@ public async Task ExecScriptReturnsSuccessful()
5139
[UsedImplicitly]
5240
public sealed class MongoDbDefaultConfiguration : MongoDbContainerTest
5341
{
54-
public MongoDbDefaultConfiguration()
55-
: base(new MongoDbBuilder().Build())
42+
public MongoDbDefaultConfiguration(ITestOutputHelper testOutputHelper)
43+
: base(testOutputHelper)
5644
{
5745
}
5846
}
5947

6048
[UsedImplicitly]
6149
public sealed class MongoDbNoAuthConfiguration : MongoDbContainerTest
6250
{
63-
public MongoDbNoAuthConfiguration()
64-
: base(new MongoDbBuilder().WithUsername(string.Empty).WithPassword(string.Empty).Build())
51+
public MongoDbNoAuthConfiguration(ITestOutputHelper testOutputHelper)
52+
: base(testOutputHelper, builder => builder.WithUsername(string.Empty).WithPassword(string.Empty))
6553
{
6654
}
6755
}
6856

6957
[UsedImplicitly]
7058
public sealed class MongoDbV5Configuration : MongoDbContainerTest
7159
{
72-
public MongoDbV5Configuration()
73-
: base(new MongoDbBuilder().WithImage("mongo:5.0").Build())
60+
public MongoDbV5Configuration(ITestOutputHelper testOutputHelper)
61+
: base(testOutputHelper, builder => builder.WithImage("mongo:5.0"))
7462
{
7563
}
7664
}
7765

7866
[UsedImplicitly]
7967
public sealed class MongoDbV4Configuration : MongoDbContainerTest
8068
{
81-
public MongoDbV4Configuration()
82-
: base(new MongoDbBuilder().WithImage("mongo:4.4").Build())
69+
public MongoDbV4Configuration(ITestOutputHelper testOutputHelper)
70+
: base(testOutputHelper, builder => builder.WithImage("mongo:4.4"))
8371
{
8472
}
8573
}

tests/Testcontainers.MongoDb.Tests/Testcontainers.MongoDb.Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
</ItemGroup>
1414
<ItemGroup>
1515
<ProjectReference Include="$(SolutionDir)src/Testcontainers.MongoDb/Testcontainers.MongoDb.csproj"/>
16+
<ProjectReference Include="$(SolutionDir)src/Testcontainers.Xunit/Testcontainers.Xunit.csproj" />
1617
<ProjectReference Include="$(SolutionDir)tests/Testcontainers.Commons/Testcontainers.Commons.csproj"/>
1718
</ItemGroup>
1819
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
global using System;
12
global using System.Threading.Tasks;
23
global using DotNet.Testcontainers.Commons;
4+
global using DotNet.Testcontainers.Xunit;
35
global using JetBrains.Annotations;
46
global using MongoDB.Driver;
5-
global using Xunit;
7+
global using Xunit;
8+
global using Xunit.Abstractions;

0 commit comments

Comments
 (0)