build: upgrade to .NET 10 and update dependencies
- Bump TargetFramework to net10.0 in Directory.Build.props - Update Microsoft.Extensions and OpenTelemetry packages to latest versions - Update test SDK and xunit runner - Refactor TestWebSocketServer to use HostBuilder and ConfigureWebHost to respond to deprecation notice - Pin FluentAssertions version to [7.2.0] - Remove redundant Microsoft.Extensions.Http reference in StevesBot.Webhook
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<Project>
|
<Project>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net9.0</TargetFramework>
|
<TargetFramework>net10.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<AnalysisLevel>latest</AnalysisLevel>
|
<AnalysisLevel>latest</AnalysisLevel>
|
||||||
|
|||||||
@@ -6,14 +6,14 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="9.0.5" />
|
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="9.0.5" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.5" />
|
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.1" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.5" />
|
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.1" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="9.5.0" />
|
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="10.1.0" />
|
||||||
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.12.0" />
|
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.14.0" />
|
||||||
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0" />
|
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.14.0" />
|
||||||
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0" />
|
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.14.0" />
|
||||||
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.12.0" />
|
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.14.0" />
|
||||||
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.12.0" />
|
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.14.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
|
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Http" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Http.Resilience" />
|
<PackageReference Include="Microsoft.Extensions.Http.Resilience" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
|
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
|
||||||
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
|
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
|
||||||
<PackageVersion Include="FluentAssertions" Version="7.2.0" />
|
<PackageVersion Include="FluentAssertions" Version="[7.2.0]" />
|
||||||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.5" />
|
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.1" />
|
||||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
|
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
|
||||||
<PackageVersion Include="moq" Version="4.20.72" />
|
<PackageVersion Include="moq" Version="4.20.72" />
|
||||||
<PackageVersion Include="RichardSzalay.MockHttp" Version="7.0.0" />
|
<PackageVersion Include="RichardSzalay.MockHttp" Version="7.0.0" />
|
||||||
<PackageVersion Include="xunit" Version="2.9.3" />
|
<PackageVersion Include="xunit" Version="2.9.3" />
|
||||||
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.0" />
|
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
|
using Microsoft.AspNetCore.Hosting.Server;
|
||||||
|
|
||||||
using WebSocket = System.Net.WebSockets.WebSocket;
|
using WebSocket = System.Net.WebSockets.WebSocket;
|
||||||
|
|
||||||
namespace StevesBot.Worker.Tests.Integration.Infrastructure;
|
namespace StevesBot.Worker.Tests.Integration.Infrastructure;
|
||||||
|
|
||||||
public sealed class TestWebSocketServer : IAsyncLifetime, IDisposable
|
public sealed class TestWebSocketServer : IAsyncLifetime, IDisposable
|
||||||
{
|
{
|
||||||
private readonly IWebHost _host;
|
private readonly IHost _host;
|
||||||
private readonly CancellationTokenSource _echoCts = new();
|
private readonly CancellationTokenSource _echoCts = new();
|
||||||
private Uri? _webSocketUri;
|
private Uri? _webSocketUri;
|
||||||
|
|
||||||
@@ -19,8 +21,10 @@ public sealed class TestWebSocketServer : IAsyncLifetime, IDisposable
|
|||||||
|
|
||||||
public TestWebSocketServer()
|
public TestWebSocketServer()
|
||||||
{
|
{
|
||||||
_host = new WebHostBuilder()
|
_host = new HostBuilder()
|
||||||
.Configure(app =>
|
.ConfigureWebHost(b =>
|
||||||
|
{
|
||||||
|
b.Configure(app =>
|
||||||
{
|
{
|
||||||
app.UseWebSockets();
|
app.UseWebSockets();
|
||||||
|
|
||||||
@@ -36,9 +40,11 @@ public sealed class TestWebSocketServer : IAsyncLifetime, IDisposable
|
|||||||
context.Response.StatusCode = 400;
|
context.Response.StatusCode = 400;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
b.UseKestrel();
|
||||||
|
b.UseUrls("http://[::1]:0");
|
||||||
})
|
})
|
||||||
.UseKestrel()
|
|
||||||
.UseUrls("http://[::1]:0")
|
|
||||||
.Build();
|
.Build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +64,8 @@ public sealed class TestWebSocketServer : IAsyncLifetime, IDisposable
|
|||||||
|
|
||||||
private Uri GetWebSocketUri()
|
private Uri GetWebSocketUri()
|
||||||
{
|
{
|
||||||
var address = _host.ServerFeatures.GetRequiredFeature<IServerAddressesFeature>().Addresses.First();
|
var serverFeatures = _host.Services.GetRequiredService<IServer>().Features;
|
||||||
|
var address = serverFeatures.GetRequiredFeature<IServerAddressesFeature>().Addresses.First();
|
||||||
var webSocketAddress = address.Replace("http://", "ws://", StringComparison.OrdinalIgnoreCase);
|
var webSocketAddress = address.Replace("http://", "ws://", StringComparison.OrdinalIgnoreCase);
|
||||||
return new Uri(webSocketAddress + "/ws");
|
return new Uri(webSocketAddress + "/ws");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user