Skip to content

Commit 0d3a37e

Browse files
committed
Update target frameworks used in tests according to official support policy
1 parent c8e70ba commit 0d3a37e

File tree

8 files changed

+49
-43
lines changed

8 files changed

+49
-43
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ jobs:
1111
runs-on: windows-latest
1212
steps:
1313
- name: Checkout
14-
uses: actions/checkout@v4
15-
- name: Setup .NET 6.0 SDK
16-
uses: actions/setup-dotnet@v4
17-
with:
18-
dotnet-version: '6.0.x'
19-
- name: Setup .NET 7.0 SDK
20-
uses: actions/setup-dotnet@v4
21-
with:
22-
dotnet-version: '7.0.x'
14+
uses: actions/checkout@v6
2315
- name: Setup .NET 8.0 SDK
24-
uses: actions/setup-dotnet@v4
16+
uses: actions/setup-dotnet@v5
2517
with:
2618
dotnet-version: '8.0.x'
19+
- name: Setup .NET 9.0 SDK
20+
uses: actions/setup-dotnet@v5
21+
with:
22+
dotnet-version: '9.0.x'
23+
- name: Setup .NET 10.0 SDK
24+
uses: actions/setup-dotnet@v5
25+
with:
26+
dotnet-version: '10.0.x'
2727
- name: Restore
2828
run: dotnet restore
2929
- name: Build

Benchmark.AspNetCore.ServerSentEvents/Benchmark.AspNetCore.ServerSentEvents.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Exe</OutputType>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<IsPackable>false</IsPackable>
66
</PropertyGroup>
77
<ItemGroup>
8-
<PackageReference Include="BenchmarkDotNet" Version="0.13.1" />
8+
<PackageReference Include="BenchmarkDotNet" Version="0.15.8" />
99
</ItemGroup>
1010
<ItemGroup>
1111
<ProjectReference Include="..\Lib.AspNetCore.ServerSentEvents\Lib.AspNetCore.ServerSentEvents.csproj" />

Benchmark.AspNetCore.ServerSentEvents/Infrastructure/NoOpHttpContext.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ namespace Benchmark.AspNetCore.ServerSentEvents.Infrastructure
99
{
1010
internal class NoOpHttpContext : HttpContext
1111
{
12+
private CancellationToken _requestAborted = CancellationToken.None;
13+
1214
public override IFeatureCollection Features => throw new NotImplementedException();
1315

1416
public override HttpRequest Request => throw new NotImplementedException();
@@ -25,7 +27,7 @@ internal class NoOpHttpContext : HttpContext
2527

2628
public override IServiceProvider RequestServices { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
2729

28-
public override CancellationToken RequestAborted { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
30+
public override CancellationToken RequestAborted { get { return _requestAborted; } set { _requestAborted = value; } }
2931

3032
public override string TraceIdentifier { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
3133

Test.AspNetCore.ServerSentEvents/Functional/Infrastructure/FakeServerSentEventsServerStartup.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public void ConfigureServices(IServiceCollection services)
2424
services.AddServerSentEvents(ConfigureServerSentEventsOption);
2525
}
2626

27-
#if !NET461
27+
#if !NET462
2828
public void Configure(IApplicationBuilder app)
2929
{
3030
app.UseRouting()

Test.AspNetCore.ServerSentEvents/Functional/Infrastructure/FakeServerSentEventsServerrApplicationFactory.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,20 @@
22
using Microsoft.AspNetCore;
33
using Microsoft.AspNetCore.Hosting;
44
using Microsoft.AspNetCore.Mvc.Testing;
5+
using Microsoft.Extensions.Hosting;
56

67
namespace Test.AspNetCore.ServerSentEvents.Functional.Infrastructure
78
{
89
internal class FakeServerSentEventsServerrApplicationFactory<TFakeServerSentEventsServerStartup> : WebApplicationFactory<TFakeServerSentEventsServerStartup> where TFakeServerSentEventsServerStartup : FakeServerSentEventsServerStartup
910
{
10-
#if !NET461
11-
protected override IWebHostBuilder CreateWebHostBuilder()
11+
#if !NET462
12+
protected override IHostBuilder CreateHostBuilder()
1213
{
13-
return WebHost.CreateDefaultBuilder()
14-
.UseStartup<TFakeServerSentEventsServerStartup>();
14+
return Host.CreateDefaultBuilder()
15+
.ConfigureWebHostDefaults(webBuilder =>
16+
{
17+
webBuilder.UseStartup<TFakeServerSentEventsServerStartup>();
18+
});
1519
}
1620
#else
1721
protected override IWebHostBuilder CreateWebHostBuilder()

Test.AspNetCore.ServerSentEvents/Functional/KeepaliveTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public async Task ServerSentEventsServer_KeepaliveModeNever_DoesNotSendKeepalive
110110
using FakeServerSentEventsServerrApplicationFactory<KeepaliveNeverServerSentEventsServerStartup> serverSentEventsServerApplicationFactory = new();
111111
HttpClient serverSentEventsClient = serverSentEventsServerApplicationFactory.CreateClient();
112112

113-
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient).ConfigureAwait(false);
113+
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient);
114114

115115
Assert.Equal(String.Empty, serverSentEvents);
116116
}
@@ -121,7 +121,7 @@ public async Task ServerSentEventsServer_KeepaliveModeAlways_SendsDefaultKeepali
121121
using FakeServerSentEventsServerrApplicationFactory<KeepaliveDefultAlwaysServerSentEventsServerStartup> serverSentEventsServerApplicationFactory = new ();
122122
HttpClient serverSentEventsClient = serverSentEventsServerApplicationFactory.CreateClient();
123123

124-
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient).ConfigureAwait(false);
124+
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient);
125125

126126
Assert.Matches($"^({DEFAULT_KEEPALIVE})+$", serverSentEvents);
127127
}
@@ -132,7 +132,7 @@ public async Task ServerSentEventsServer_KeepaliveModeAlwaysKeepaliveKindComment
132132
using FakeServerSentEventsServerrApplicationFactory<KeepaliveCustomCommentAlwaysServerSentEventsServerStartup> serverSentEventsServerApplicationFactory = new();
133133
HttpClient serverSentEventsClient = serverSentEventsServerApplicationFactory.CreateClient();
134134

135-
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient).ConfigureAwait(false);
135+
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient);
136136

137137
Assert.Matches($"^({CUSTOM_KEEPALIVE_COMMENT})+$", serverSentEvents);
138138
}
@@ -143,7 +143,7 @@ public async Task ServerSentEventsServer_KeepaliveModeAlwaysKeepaliveKindEventKe
143143
using FakeServerSentEventsServerrApplicationFactory<KeepaliveCustomEventAlwaysServerSentEventsServerStartup> serverSentEventsServerApplicationFactory = new();
144144
HttpClient serverSentEventsClient = serverSentEventsServerApplicationFactory.CreateClient();
145145

146-
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient).ConfigureAwait(false);
146+
string serverSentEvents = await GetServerSentEvents(serverSentEventsClient);
147147

148148
Assert.Matches($"^({CUSTOM_KEEPALIVE_EVENT})+$", serverSentEvents);
149149
}
@@ -154,13 +154,13 @@ private static async Task<string> GetServerSentEvents(HttpClient serverSentEvent
154154
string serverSentEventsResponseContent = String.Empty;
155155

156156
serverSentEventsClient.DefaultRequestHeaders.Add("Accept", "text/event-stream");
157-
using (HttpResponseMessage serverSentEventsResponse = await serverSentEventsClient.GetAsync(FakeServerSentEventsServerStartup.SERVER_SENT_EVENTS_ENDPOINT, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false))
157+
using (HttpResponseMessage serverSentEventsResponse = await serverSentEventsClient.GetAsync(FakeServerSentEventsServerStartup.SERVER_SENT_EVENTS_ENDPOINT, HttpCompletionOption.ResponseHeadersRead))
158158
{
159159
serverSentEventsResponse.EnsureSuccessStatusCode();
160160

161161
keepaliveStopwatch.Start();
162162

163-
using (Stream responseStream = await serverSentEventsResponse.Content.ReadAsStreamAsync().ConfigureAwait(false))
163+
using (Stream responseStream = await serverSentEventsResponse.Content.ReadAsStreamAsync())
164164
{
165165
do
166166
{
@@ -170,7 +170,7 @@ private static async Task<string> GetServerSentEvents(HttpClient serverSentEvent
170170
{
171171
using CancellationTokenSource keepaliveCancellationTokenSource = new CancellationTokenSource(KEEPALIVE_TIMESPAN);
172172

173-
int bytesRead = await responseStream.ReadAsync(buffer, 0, buffer.Length, keepaliveCancellationTokenSource.Token).ConfigureAwait(false);
173+
int bytesRead = await responseStream.ReadAsync(buffer, 0, buffer.Length, keepaliveCancellationTokenSource.Token);
174174
serverSentEventsResponseContent += Encoding.UTF8.GetString(buffer, 0, bytesRead);
175175
}
176176
catch (Exception ex) when (ex is OperationCanceledException || ex.InnerException is OperationCanceledException)

Test.AspNetCore.ServerSentEvents/Test.AspNetCore.ServerSentEvents.csproj

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net6.0;net7.0;net8.0;net461</TargetFrameworks>
3+
<TargetFrameworks>net462;net8.0;net9.0;net10.0</TargetFrameworks>
44
<IsPackable>false</IsPackable>
55
<LangVersion>latest</LangVersion>
66
<PreserveCompilationContext>true</PreserveCompilationContext>
77
</PropertyGroup>
88
<ItemGroup>
9-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
10-
<PackageReference Include="Moq" Version="4.16.1" />
11-
<PackageReference Include="xunit" Version="2.4.1" />
12-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
9+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
10+
<PackageReference Include="Moq" Version="4.18.4" />
11+
<PackageReference Include="xunit" Version="2.9.3" />
12+
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
1515
</PackageReference>
1616
</ItemGroup>
17-
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
17+
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
1818
<PackageReference Include="Microsoft.AspNetCore.Http" Version="[2.1.0,3.0.0)" />
1919
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="[2.1.0,3.0.0)" />
2020
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[2.1.0,3.0.0)" />
2121
</ItemGroup>
22-
<ItemGroup Condition="'$(TargetFramework)' != 'net461'">
22+
<ItemGroup Condition="'$(TargetFramework)' != 'net462'">
2323
<FrameworkReference Include="Microsoft.AspNetCore.App" />
2424
</ItemGroup>
25-
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
26-
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.0" />
27-
</ItemGroup>
28-
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
29-
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0" />
30-
</ItemGroup>
3125
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
3226
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.0" />
3327
</ItemGroup>
28+
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
29+
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.0" />
30+
</ItemGroup>
31+
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
32+
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.0" />
33+
</ItemGroup>
3434
<ItemGroup>
3535
<ProjectReference Include="..\Lib.AspNetCore.ServerSentEvents\Lib.AspNetCore.ServerSentEvents.csproj" />
3636
</ItemGroup>

Test.AspNetCore.ServerSentEvents/Unit/ServerSentEventsClientTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ public void GetProperty_ReturnsTheStoredValue()
3737
client.SetProperty(PROPERTY_1_NAME, PROPERTY_1_VALUE);
3838

3939
// ACT
40-
var expected = client.GetProperty<string>(PROPERTY_1_NAME);
40+
var actual = client.GetProperty<string>(PROPERTY_1_NAME);
4141

4242
// ASSERT
43-
Assert.Equal(expected, PROPERTY_1_VALUE);
43+
Assert.Equal(PROPERTY_1_VALUE, actual);
4444
}
4545

4646
[Fact]
@@ -146,7 +146,7 @@ public async Task Disconnect_ClientDisconnectServicesNotAvailable_ThrowsInvalidO
146146

147147
// ASSERT
148148
InvalidOperationException disconnectException = await Assert.ThrowsAsync<InvalidOperationException>(async () => await client.DisconnectAsync());
149-
Assert.Equal(disconnectException.Message, $"Disconnecting a {nameof(ServerSentEventsClient)} requires registering implementations of {nameof(IServerSentEventsClientIdProvider)} and {nameof(IServerSentEventsNoReconnectClientsIdsStore)}.");
149+
Assert.Equal($"Disconnecting a {nameof(ServerSentEventsClient)} requires registering implementations of {nameof(IServerSentEventsClientIdProvider)} and {nameof(IServerSentEventsNoReconnectClientsIdsStore)}.", disconnectException.Message);
150150
}
151151

152152
[Fact]
@@ -168,7 +168,7 @@ public async Task Disconnect_ClientDisconnectServicesAvailable_Disconnects()
168168
// ARRANGE
169169
HttpContext context = new DefaultHttpContext();
170170

171-
#if NET461
171+
#if NET462
172172
Mock<IHttpRequestLifetimeFeature> httpRequestLifetimeFeatureMock = new Mock<IHttpRequestLifetimeFeature>();
173173
context.Features.Set(httpRequestLifetimeFeatureMock.Object);
174174
#else
@@ -185,7 +185,7 @@ public async Task Disconnect_ClientDisconnectServicesAvailable_Disconnects()
185185
Assert.False(client.IsConnected);
186186
Assert.True(client.DisconnectAsync().IsCompleted);
187187

188-
#if NET461
188+
#if NET462
189189
httpRequestLifetimeFeatureMock.Verify(o => o.Abort(), Times.Once);
190190
#else
191191
httpResponseBodyFeatureMock.Verify(o => o.CompleteAsync(), Times.Once);

0 commit comments

Comments
 (0)