Skip to content

Commit c42a21d

Browse files
jhartmann123davidroth
authored andcommitted
chore: Updated packages; changed TestStartup from ITestPipelineStartup to assembly fixture to avoid running the code during discovery
1 parent 9caca3a commit c42a21d

File tree

10 files changed

+66
-62
lines changed

10 files changed

+66
-62
lines changed

Extensions.slnx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<File Path=".editorconfig.disableAnalyzers" />
55
<File Path=".gitlab-ci.yml" />
66
<File Path="global.json" />
7+
<File Path="NuGet.Config" />
78
<File Path="README.md" />
89
<File Path="src/Directory.Build.props" />
910
<File Path="src/Directory.Packages.props" />

NuGet.Config

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<packageSources>
4+
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
5+
</packageSources>
6+
<packageSourceMapping>
7+
<packageSource key="nuget.org">
8+
<package pattern="*" />
9+
</packageSource>
10+
</packageSourceMapping>
11+
</configuration>

src/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<PropertyGroup>
3-
<Version>10.0.0</Version>
3+
<Version>10.0.1</Version>
44
<TargetFramework>net10.0</TargetFramework>
55
</PropertyGroup>
66

src/Directory.Packages.props

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,50 +4,50 @@
44
<EnablePackageVersionOverride>false</EnablePackageVersionOverride>
55
</PropertyGroup>
66
<ItemGroup>
7-
<PackageVersion Include="AwesomeAssertions" Version="9.3.0" />
7+
<PackageVersion Include="AwesomeAssertions" Version="9.4.0" />
88
<PackageVersion Include="AwesomeAssertions.Analyzers" Version="9.0.8" />
9-
<PackageVersion Include="Dapper" Version="2.1.66" />
10-
<PackageVersion Include="Hangfire" Version="1.8.22" />
11-
<PackageVersion Include="Hangfire.Core" Version="1.8.22" />
12-
<PackageVersion Include="Hangfire.PostgreSql" Version="1.20.12" />
13-
<PackageVersion Include="MailKit" Version="4.14.1" />
14-
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0" />
15-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.0" />
16-
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.0" />
17-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.0" />
18-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.0" />
19-
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.0" />
20-
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.0" />
21-
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.0" />
22-
<PackageVersion Include="Microsoft.Extensions.Configuration.FileExtensions" Version="10.0.0" />
23-
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.0" />
24-
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.0" />
25-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
26-
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.0" />
27-
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
28-
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.0" />
29-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
30-
<PackageVersion Include="Microsoft.SourceLink.Github" Version="8.0.0" />
31-
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.1.0" />
32-
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport" Version="2.0.2" />
9+
<PackageVersion Include="Dapper" Version="2.1.72" />
10+
<PackageVersion Include="Hangfire" Version="1.8.23" />
11+
<PackageVersion Include="Hangfire.Core" Version="1.8.23" />
12+
<PackageVersion Include="Hangfire.PostgreSql" Version="1.21.1" />
13+
<PackageVersion Include="MailKit" Version="4.15.1" />
14+
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.5" />
15+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.5" />
16+
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.5" />
17+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.5" />
18+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.5" />
19+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.5" />
20+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.5" />
21+
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.5" />
22+
<PackageVersion Include="Microsoft.Extensions.Configuration.FileExtensions" Version="10.0.5" />
23+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.5" />
24+
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.5" />
25+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.5" />
26+
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.5" />
27+
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.5" />
28+
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.5" />
29+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
30+
<PackageVersion Include="Microsoft.SourceLink.Github" Version="10.0.201" />
31+
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.5.2" />
32+
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport" Version="2.1.0" />
3333
<PackageVersion Include="netDumbster" Version="3.1.1" />
3434
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
35-
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
35+
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.1" />
3636
<PackageVersion Include="NSubstitute" Version="5.3.0" />
37-
<PackageVersion Include="OpenTelemetry.Api" Version="1.14.0" />
38-
<PackageVersion Include="Polly" Version="8.6.5" />
37+
<PackageVersion Include="OpenTelemetry.Api" Version="1.15.0" />
38+
<PackageVersion Include="Polly" Version="8.6.6" />
3939
<PackageVersion Include="PreMailer.Net" Version="2.7.2" />
4040
<PackageVersion Include="Scrutor" Version="7.0.0" />
4141
<PackageVersion Include="SimpleInjector" Version="5.5.0" />
4242
<PackageVersion Include="SimpleInjector.Integration.AspNetCore" Version="5.5.0" />
4343
<PackageVersion Include="SimpleInjector.Integration.AspNetCore.Mvc.Core" Version="5.5.0" />
4444
<PackageVersion Include="SimpleInjector.Integration.GenericHost" Version="5.5.0" />
4545
<PackageVersion Include="SimpleInjector.Integration.ServiceCollection" Version="5.5.0" />
46-
<PackageVersion Include="Testcontainers.MsSql" Version="4.9.0" />
47-
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.9.0" />
48-
<PackageVersion Include="xunit.analyzers" Version="1.25.0" />
46+
<PackageVersion Include="Testcontainers.MsSql" Version="4.11.0" />
47+
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.11.0" />
48+
<PackageVersion Include="xunit.analyzers" Version="1.27.0" />
4949
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
50-
<PackageVersion Include="xunit.v3.core.mtp-v2" Version="3.2.0" />
51-
<PackageVersion Include="xunit.v3.extensibility.core" Version="3.2.0" />
50+
<PackageVersion Include="xunit.v3.core.mtp-v2" Version="3.2.2" />
51+
<PackageVersion Include="xunit.v3.extensibility.core" Version="3.2.2" />
5252
</ItemGroup>
5353
</Project>

src/Email/src/EmailOptions.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Fusonic.Extensions.Email;
1111
public class EmailOptions
1212
{
1313
/// <summary> Email-Address of the sender. </summary>
14-
public string? SenderAddress { get; set; }
14+
public string SenderAddress { get; set; } = string.Empty;
1515

1616
/// <summary> Name of the sender. </summary>
1717
public string? SenderName { get; set; }
@@ -74,7 +74,6 @@ internal void Validate()
7474
var errors = new List<string>();
7575

7676
Required(x => x.SenderAddress);
77-
Required(x => x.SenderName);
7877

7978
if (string.IsNullOrWhiteSpace(StoreInDirectory))
8079
{

src/Email/src/SmtpClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) Fusonic GmbH. All rights reserved.
1+
// Copyright (c) Fusonic GmbH. All rights reserved.
22
// Licensed under the MIT License. See LICENSE file in the project root for license information.
33

44
using Fusonic.Extensions.Common.IO;
@@ -13,7 +13,7 @@ public async Task SendMailAsync(MimeMessage message)
1313
{
1414
if (!string.IsNullOrWhiteSpace(options.StoreInDirectory))
1515
{
16-
string path = Path.Combine(options.StoreInDirectory, $"{DateTime.Now:yyyyMMdd_HHmmss}_{PathUtil.RemoveInvalidFilenameChars(message.Subject)}_{Guid.NewGuid()}.eml");
16+
string path = Path.Combine(options.StoreInDirectory, $"{DateTime.Now:yyyyMMdd_HHmmss}_{PathUtil.RemoveInvalidFilenameChars(message.Subject ?? "")}_{Guid.NewGuid()}.eml");
1717
await message.WriteToAsync(path);
1818
}
1919
else

src/Hangfire/test/TestStartup.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
11
// Copyright (c) Fusonic GmbH. All rights reserved.
22
// Licensed under the MIT License. See LICENSE file in the project root for license information.
33

4+
using Dapper;
45
using Fusonic.Extensions.Hangfire.Tests;
56
using Fusonic.Extensions.UnitTests.EntityFrameworkCore.Npgsql;
67
using Hangfire.PostgreSql;
78
using Npgsql;
89
using Testcontainers.PostgreSql;
9-
using Xunit.Sdk;
10-
using Xunit.v3;
1110

12-
[assembly: TestPipelineStartup(typeof(TestStartup))]
11+
[assembly: DapperAot(false)] // Pulled by Hangfire.PostgreSql
12+
[assembly: AssemblyFixture(typeof(TestStartup))]
1313

1414
namespace Fusonic.Extensions.Hangfire.Tests;
1515

16-
public class TestStartup : ITestPipelineStartup
16+
public class TestStartup : IAsyncLifetime
1717
{
1818
private PostgreSqlContainer? container;
1919

2020
public static string ConnectionString { get; private set; } = null!;
2121

22-
public async ValueTask StartAsync(IMessageSink diagnosticMessageSink)
22+
public async ValueTask InitializeAsync()
2323
{
2424
// Start PostgreSQL test container
25-
container = new PostgreSqlBuilder()
25+
container = new PostgreSqlBuilder("postgres:17-alpine")
2626
.WithReuse(true)
27-
.WithImage("postgres:17")
2827
.WithName("test.npgsql.extensions.hangfire")
2928
.WithTmpfsMount("/var/lib/postgresql/data")
3029
.WithTmpfsMount("/dev/shm")
@@ -50,5 +49,5 @@ await PostgreSqlUtil.CreateTestDbTemplate<TestDbContext>(
5049
useMigrations: false);
5150
}
5251

53-
public ValueTask StopAsync() => ValueTask.CompletedTask;
52+
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
5453
}

src/UnitTests.EntityFrameworkCore.Npgsql/test/TestStartup.cs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,26 @@
44
using Fusonic.Extensions.UnitTests.EntityFrameworkCore.Npgsql.Tests;
55
using Npgsql;
66
using Testcontainers.PostgreSql;
7-
using Xunit.Sdk;
8-
using Xunit.v3;
97

10-
[assembly: TestPipelineStartup(typeof(TestStartup))]
8+
[assembly: AssemblyFixture(typeof(TestStartup))]
119

1210
namespace Fusonic.Extensions.UnitTests.EntityFrameworkCore.Npgsql.Tests;
1311

14-
public class TestStartup : ITestPipelineStartup
12+
public class TestStartup : IAsyncLifetime
1513
{
1614
private PostgreSqlContainer? container;
1715

1816
public static string ConnectionString { get; private set; } = null!;
1917

20-
public async ValueTask StartAsync(IMessageSink diagnosticMessageSink)
18+
public async ValueTask InitializeAsync()
2119
{
2220
// Start PostgreSQL test container
2321
// - Reuse is enabled to speed up tests locally.
2422
// Our CI pipelines always start fresh containers as the test jobs run within docker:dind and containers get disposed after a test run.
2523
// - The tmpfs mounts ensure that the database runs in memory only and does not write to disk, speeding up tests significantly.
2624
// Also see https://www.fusonic.net/de/blog/fusonic-test-with-databases-part-3 for more information.
27-
container = new PostgreSqlBuilder()
25+
container = new PostgreSqlBuilder("postgres:17-alpine")
2826
.WithReuse(true)
29-
.WithImage("postgres:17")
3027
.WithName("test.npgsql.extensions.unittests")
3128
.WithTmpfsMount("/var/lib/postgresql/data")
3229
.WithTmpfsMount("/dev/shm")
@@ -46,5 +43,5 @@ await PostgreSqlUtil.CreateTestDbTemplate<TestDbContext>(
4643
useMigrations: false);
4744
}
4845

49-
public ValueTask StopAsync() => ValueTask.CompletedTask;
46+
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
5047
}

src/UnitTests.EntityFrameworkCore.SqlServer/src/SqlServerDatabasePerTestStore.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// Licensed under the MIT License. See LICENSE file in the project root for license information.
33

44
using Microsoft.Data.SqlClient;
5-
using static System.Runtime.InteropServices.JavaScript.JSType;
65

76
namespace Fusonic.Extensions.UnitTests.EntityFrameworkCore.SqlServer;
87

src/UnitTests.EntityFrameworkCore.SqlServer/test/TestStartup.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,22 @@
44
using Fusonic.Extensions.UnitTests.EntityFrameworkCore.SqlServer.Tests;
55
using Microsoft.Data.SqlClient;
66
using Testcontainers.MsSql;
7-
using Xunit.Sdk;
8-
using Xunit.v3;
97

10-
[assembly: TestPipelineStartup(typeof(TestStartup))]
8+
[assembly: AssemblyFixture(typeof(TestStartup))]
119

1210
namespace Fusonic.Extensions.UnitTests.EntityFrameworkCore.SqlServer.Tests;
1311

14-
public class TestStartup : ITestPipelineStartup
12+
public class TestStartup : IAsyncLifetime
1513
{
1614
private MsSqlContainer? container;
1715
public static string ConnectionString { get; private set; } = null!;
1816

19-
public async ValueTask StartAsync(IMessageSink diagnosticMessageSink)
17+
public async ValueTask InitializeAsync()
2018
{
2119
// Start MSSQL test container
2220
// - Reuse is enabled to speed up tests locally.
2321
// Our CI pipelines always start fresh containers as the test jobs run within docker:dind and containers get disposed after a test run.
24-
container = new MsSqlBuilder()
22+
container = new MsSqlBuilder("mcr.microsoft.com/mssql/server:2022-latest")
2523
.WithReuse(true)
2624
.WithName("test.mssql.extensions.unittests")
2725
.Build();
@@ -40,5 +38,5 @@ await SqlServerTestUtil.CreateTestDbTemplate<TestDbContext>(
4038
useMigrations: false);
4139
}
4240

43-
public ValueTask StopAsync() => ValueTask.CompletedTask;
41+
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
4442
}

0 commit comments

Comments
 (0)