Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 2e79dd7

Browse files
committedSep 19, 2024··
fix: Impl GetHashCode(), add actual image version as plain string
1 parent 285df3b commit 2e79dd7

File tree

4 files changed

+33
-5
lines changed

4 files changed

+33
-5
lines changed
 

‎src/Testcontainers.Xunit/XunitLoggerProvider.cs

+12-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Testcontainers.Xunit;
1+
namespace Testcontainers.Xunit;
22

33
internal sealed class XunitLoggerProvider : ILoggerProvider
44
{
@@ -47,6 +47,11 @@ public void WriteLine(string format, params object[] args)
4747
{
4848
_messageSink.OnMessage(new DiagnosticMessage(format, args));
4949
}
50+
51+
public override int GetHashCode()
52+
{
53+
return _messageSink.GetHashCode();
54+
}
5055
}
5156

5257
private sealed class XunitLogger : ILogger
@@ -76,10 +81,15 @@ public bool IsEnabled(LogLevel logLevel)
7681

7782
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
7883
{
79-
var message = exception == null ? formatter.Invoke(state, null) : $"{formatter.Invoke(state, exception)}\n{exception}";
84+
var message = exception == null ? formatter.Invoke(state, null) : string.Join(Environment.NewLine, formatter.Invoke(state, exception), exception);
8085
_testOutputHelper.WriteLine("[{0} {1:hh\\:mm\\:ss\\.ff}] {2}", _categoryName, _stopwatch.Elapsed, message);
8186
}
8287

88+
public override int GetHashCode()
89+
{
90+
return _testOutputHelper.GetHashCode();
91+
}
92+
8393
private sealed class Disposable : IDisposable
8494
{
8595
private Disposable()

‎tests/Testcontainers.Xunit.Tests/PostgreSqlContainer.cs

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public sealed partial class PostgreSqlContainerTest(ITestOutputHelper testOutput
77
protected override PostgreSqlBuilder Configure(PostgreSqlBuilder builder)
88
{
99
return builder
10-
.WithImage(PostgreSqlBuilder.PostgreSqlImage)
10+
.WithImage("postgres:15.1")
1111
.WithResourceMapping("Chinook_PostgreSql_AutoIncrementPKs.sql", "/docker-entrypoint-initdb.d/");
1212
}
1313
}
@@ -35,6 +35,12 @@ public override string ConnectionString
3535

3636
public sealed partial class PostgreSqlContainerTest
3737
{
38+
[Fact]
39+
public void ImageShouldMatchDefaultModuleImage()
40+
{
41+
Assert.Equal(PostgreSqlBuilder.PostgreSqlImage, Container.Image.FullName);
42+
}
43+
3844
// # --8<-- [start:RunTests]
3945
[Fact]
4046
public async Task Test1()

‎tests/Testcontainers.Xunit.Tests/RedisContainerTest`1.cs

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,19 @@ public sealed partial class RedisContainerTest(ITestOutputHelper testOutputHelpe
77
protected override RedisBuilder Configure(RedisBuilder builder)
88
{
99
// 👇 Configure your container instance here.
10-
return builder.WithImage(RedisBuilder.RedisImage);
10+
return builder.WithImage("redis:7.0");
1111
}
1212
}
1313
// # --8<-- [end:ConfigureRedisContainer]
1414

1515
public sealed partial class RedisContainerTest : ITestCaseOrderer
1616
{
17+
[Fact]
18+
public void ImageShouldMatchDefaultModuleImage()
19+
{
20+
Assert.Equal(RedisBuilder.RedisImage, Container.Image.FullName);
21+
}
22+
1723
// # --8<-- [start:RunTests]
1824
[Fact]
1925
public async Task Test1()

‎tests/Testcontainers.Xunit.Tests/RedisContainerTest`2.cs

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public sealed class RedisContainerFixture(IMessageSink messageSink)
77
{
88
protected override RedisBuilder Configure(RedisBuilder builder)
99
{
10-
return builder.WithImage(RedisBuilder.RedisImage);
10+
return builder.WithImage("redis:7.0");
1111
}
1212
}
1313
// # --8<-- [end:ConfigureRedisContainer]
@@ -19,6 +19,12 @@ public sealed partial class RedisContainerTest(RedisContainerFixture fixture)
1919

2020
public sealed partial class RedisContainerTest : ITestCaseOrderer
2121
{
22+
[Fact]
23+
public void ImageShouldMatchDefaultModuleImage()
24+
{
25+
Assert.Equal(RedisBuilder.RedisImage, fixture.Container.Image.FullName);
26+
}
27+
2228
[Fact]
2329
public async Task Test1()
2430
{

0 commit comments

Comments
 (0)
Please sign in to comment.