Skip to content

Commit 590b124

Browse files
chores: Upgrad to xunit.v3
1 parent 1373a21 commit 590b124

14 files changed

Lines changed: 154 additions & 154 deletions
Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,41 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<TargetFramework>net10.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
7-
<AssemblyName>CmdScale.EntityFrameworkCore.TimescaleDB.FunctionalTests</AssemblyName>
8-
<RootNamespace>CmdScale.EntityFrameworkCore.TimescaleDB.FunctionalTests</RootNamespace>
3+
<PropertyGroup>
4+
<TargetFramework>net10.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
<AssemblyName>CmdScale.EntityFrameworkCore.TimescaleDB.FunctionalTests</AssemblyName>
8+
<RootNamespace>CmdScale.EntityFrameworkCore.TimescaleDB.FunctionalTests</RootNamespace>
99

10-
<IsPackable>false</IsPackable>
11-
<IsTestProject>true</IsTestProject>
12-
</PropertyGroup>
10+
<IsPackable>false</IsPackable>
11+
<IsTestProject>true</IsTestProject>
12+
</PropertyGroup>
1313

14-
<ItemGroup>
15-
<PackageReference Include="coverlet.collector" Version="8.0.1">
16-
<PrivateAssets>all</PrivateAssets>
17-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18-
</PackageReference>
19-
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="10.0.5" />
20-
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Version="10.0.5" />
21-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
22-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite" Version="10.0.1" />
23-
<PackageReference Include="Npgsql.NetTopologySuite" Version="10.0.2" />
24-
<PackageReference Include="Testcontainers.PostgreSql" Version="4.11.0" />
25-
<PackageReference Include="xunit" Version="2.9.3" />
26-
<PackageReference Include="xunit.assert" Version="2.9.3" />
27-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
28-
<PrivateAssets>all</PrivateAssets>
29-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
30-
</PackageReference>
31-
</ItemGroup>
14+
<ItemGroup>
15+
<PackageReference Include="coverlet.collector" Version="8.0.1">
16+
<PrivateAssets>all</PrivateAssets>
17+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18+
</PackageReference>
19+
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="10.0.5" />
20+
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Version="10.0.5" />
21+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
22+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite" Version="10.0.1" />
23+
<PackageReference Include="Npgsql.NetTopologySuite" Version="10.0.2" />
24+
<PackageReference Include="Testcontainers.PostgreSql" Version="4.11.0" />
25+
<PackageReference Include="xunit" Version="2.9.3" />
26+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
27+
<PrivateAssets>all</PrivateAssets>
28+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
29+
</PackageReference>
30+
</ItemGroup>
3231

33-
<ItemGroup>
34-
<Using Include="Xunit" />
35-
</ItemGroup>
32+
<ItemGroup>
33+
<Using Include="Xunit" />
34+
</ItemGroup>
3635

37-
<ItemGroup>
38-
<ProjectReference Include="..\..\src\Eftdb\Eftdb.csproj" />
39-
<ProjectReference Include="..\..\src\Eftdb.Design\Eftdb.Design.csproj" />
40-
</ItemGroup>
36+
<ItemGroup>
37+
<ProjectReference Include="..\..\src\Eftdb\Eftdb.csproj" />
38+
<ProjectReference Include="..\..\src\Eftdb.Design\Eftdb.Design.csproj" />
39+
</ItemGroup>
4140

4241
</Project>

tests/Eftdb.Tests/Eftdb.Tests.csproj

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,7 @@
2121
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
2222
<PackageReference Include="Moq" Version="4.20.72" />
2323
<PackageReference Include="Testcontainers.PostgreSql" Version="4.11.0" />
24-
<PackageReference Include="xunit" Version="2.9.3" />
25-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
26-
<PrivateAssets>all</PrivateAssets>
27-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
28-
</PackageReference>
24+
<PackageReference Include="xunit.v3" Version="3.2.2" />
2925
</ItemGroup>
3026

3127
<ItemGroup>

tests/Eftdb.Tests/Integration/ContinuousAggregateIntegrationTests.cs

Lines changed: 48 additions & 48 deletions
Large diffs are not rendered by default.

tests/Eftdb.Tests/Integration/ContinuousAggregatePolicyIntegrationTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ContinuousAggregatePolicyIntegrationTests : MigrationTestBase, IAsy
1414
private PostgreSqlContainer? _container;
1515
private string? _connectionString;
1616

17-
public async Task InitializeAsync()
17+
public async ValueTask InitializeAsync()
1818
{
1919
_container = new PostgreSqlBuilder("timescale/timescaledb:latest-pg17")
2020
.WithDatabase("test_db")
@@ -26,7 +26,7 @@ public async Task InitializeAsync()
2626
_connectionString = _container.GetConnectionString();
2727
}
2828

29-
public async Task DisposeAsync()
29+
public async ValueTask DisposeAsync()
3030
{
3131
if (_container != null)
3232
{
@@ -91,7 +91,7 @@ public async Task Should_Create_Policy_With_FluentApi()
9191
await CreateDatabaseViaMigrationAsync(context);
9292

9393
// Assert - Verify the continuous aggregate view exists
94-
List<AggregateEntity1> aggregates = await context.Aggregates.ToListAsync();
94+
List<AggregateEntity1> aggregates = await context.Aggregates.ToListAsync(TestContext.Current.CancellationToken);
9595
Assert.NotNull(aggregates);
9696
}
9797

@@ -525,13 +525,13 @@ public async Task Should_Execute_Migration_Successfully()
525525
await context.Database.ExecuteSqlInterpolatedAsync($@"
526526
INSERT INTO ""Metrics"" (""Timestamp"", ""Value"")
527527
VALUES ({new DateTime(2025, 1, 1, 10, 0, 0, DateTimeKind.Utc)}, {100.5})
528-
");
528+
", TestContext.Current.CancellationToken);
529529

530530
// Manually refresh the continuous aggregate
531531
await context.Database.ExecuteSqlRawAsync(
532-
"CALL refresh_continuous_aggregate('public.hourly_metrics', NULL, NULL);");
532+
"CALL refresh_continuous_aggregate('public.hourly_metrics', NULL, NULL);", [], TestContext.Current.CancellationToken);
533533

534-
List<AggregateEntity7> aggregates = await context.Aggregates.ToListAsync();
534+
List<AggregateEntity7> aggregates = await context.Aggregates.ToListAsync(TestContext.Current.CancellationToken);
535535
Assert.NotEmpty(aggregates);
536536
}
537537

@@ -689,7 +689,7 @@ public async Task Should_Work_With_Custom_Schema()
689689
await using CustomSchemaContext9 context = new(_connectionString!);
690690

691691
// Create the schema first
692-
await context.Database.ExecuteSqlRawAsync("CREATE SCHEMA IF NOT EXISTS analytics;");
692+
await context.Database.ExecuteSqlRawAsync("CREATE SCHEMA IF NOT EXISTS analytics;", [], TestContext.Current.CancellationToken);
693693

694694
// Act
695695
await CreateDatabaseViaMigrationAsync(context);

tests/Eftdb.Tests/Integration/ContinuousAggregatePolicyScaffoldingExtractorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ContinuousAggregatePolicyScaffoldingExtractorTests : MigrationTestB
1414
private PostgreSqlContainer? _container;
1515
private string? _connectionString;
1616

17-
public async Task InitializeAsync()
17+
public async ValueTask InitializeAsync()
1818
{
1919
_container = new PostgreSqlBuilder("timescale/timescaledb:latest-pg17")
2020
.WithDatabase("test_db")
@@ -26,7 +26,7 @@ public async Task InitializeAsync()
2626
_connectionString = _container.GetConnectionString();
2727
}
2828

29-
public async Task DisposeAsync()
29+
public async ValueTask DisposeAsync()
3030
{
3131
if (_container != null)
3232
{

tests/Eftdb.Tests/Integration/ContinuousAggregateScaffoldingExtractorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class ContinuousAggregateScaffoldingExtractorTests : MigrationTestBase, I
1313
private PostgreSqlContainer? _container;
1414
private string? _connectionString;
1515

16-
public async Task InitializeAsync()
16+
public async ValueTask InitializeAsync()
1717
{
1818
_container = new PostgreSqlBuilder("timescale/timescaledb:latest-pg17")
1919
.WithDatabase("test_db")
@@ -25,7 +25,7 @@ public async Task InitializeAsync()
2525
_connectionString = _container.GetConnectionString();
2626
}
2727

28-
public async Task DisposeAsync()
28+
public async ValueTask DisposeAsync()
2929
{
3030
if (_container != null)
3131
{

tests/Eftdb.Tests/Integration/HypertableIntegrationTests.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ private class CompressionSettingInfo
2020
public bool IsNullsFirst { get; set; }
2121
}
2222

23-
public async Task InitializeAsync()
23+
public async ValueTask InitializeAsync()
2424
{
2525
_container = new PostgreSqlBuilder("timescale/timescaledb:latest-pg17")
2626
.WithDatabase("test_db")
@@ -32,7 +32,7 @@ public async Task InitializeAsync()
3232
_connectionString = _container.GetConnectionString();
3333
}
3434

35-
public async Task DisposeAsync()
35+
public async ValueTask DisposeAsync()
3636
{
3737
if (_container != null)
3838
{
@@ -319,12 +319,12 @@ public async Task Should_Create_Minimal_Hypertable()
319319
DateTime timestamp = new(2025, 1, 6, 10, 0, 0, DateTimeKind.Utc);
320320
double value = 100.5;
321321
await context.Database.ExecuteSqlInterpolatedAsync(
322-
$"INSERT INTO \"Metrics\" (\"Timestamp\", \"Value\") VALUES ({timestamp}, {value})");
322+
$"INSERT INTO \"Metrics\" (\"Timestamp\", \"Value\") VALUES ({timestamp}, {value})", TestContext.Current.CancellationToken);
323323

324324
bool isHypertable = await IsHypertableAsync(context, "Metrics");
325325
Assert.True(isHypertable);
326326

327-
List<MinimalHypertableMetric> metrics = await context.Metrics.ToListAsync();
327+
List<MinimalHypertableMetric> metrics = await context.Metrics.ToListAsync(TestContext.Current.CancellationToken);
328328
Assert.Single(metrics);
329329
Assert.Equal(100.5, metrics[0].Value);
330330
}
@@ -925,12 +925,12 @@ await context.Database.ExecuteSqlInterpolatedAsync($@"
925925
VALUES
926926
({new DateTime(2025, 1, 1, 10, 0, 0, DateTimeKind.Utc)}, {"device_1"}, {20.5}, {45.0}),
927927
({new DateTime(2025, 1, 1, 11, 0, 0, DateTimeKind.Utc)}, {"device_1"}, {21.0}, {46.0}),
928-
({new DateTime(2025, 1, 2, 10, 0, 0, DateTimeKind.Utc)}, {"device_2"}, {19.5}, {50.0})");
928+
({new DateTime(2025, 1, 2, 10, 0, 0, DateTimeKind.Utc)}, {"device_2"}, {19.5}, {50.0})", TestContext.Current.CancellationToken);
929929

930-
List<IoTDataRecord> data = await context.IoTData.ToListAsync();
930+
List<IoTDataRecord> data = await context.IoTData.ToListAsync(TestContext.Current.CancellationToken);
931931
Assert.Equal(3, data.Count);
932932

933-
List<IoTDataRecord> device1Data = await context.IoTData.Where(d => d.DeviceId == "device_1").ToListAsync();
933+
List<IoTDataRecord> device1Data = await context.IoTData.Where(d => d.DeviceId == "device_1").ToListAsync(TestContext.Current.CancellationToken);
934934
Assert.Equal(2, device1Data.Count);
935935

936936
int chunkCount = await GetChunkCountAsync(context, "IoTData");
@@ -984,14 +984,14 @@ public async Task Should_Handle_LargeDataset()
984984

985985
string sql = $@"INSERT INTO ""PerformanceTest"" (""Timestamp"", ""SensorId"", ""Value"")
986986
VALUES {string.Join(", ", valueRows)}";
987-
await context.Database.ExecuteSqlRawAsync(sql);
987+
await context.Database.ExecuteSqlRawAsync(sql, [], TestContext.Current.CancellationToken);
988988

989-
int count = await context.PerformanceTest.CountAsync();
989+
int count = await context.PerformanceTest.CountAsync(TestContext.Current.CancellationToken);
990990
Assert.Equal(100, count);
991991

992992
List<PerformanceTestData> sensor0Data = await context.PerformanceTest
993993
.Where(d => d.SensorId == 0)
994-
.ToListAsync();
994+
.ToListAsync(TestContext.Current.CancellationToken);
995995
Assert.Equal(10, sensor0Data.Count);
996996

997997
int chunkCount = await GetChunkCountAsync(context, "PerformanceTest");

tests/Eftdb.Tests/Integration/HypertableMigrateDataIntegrationTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class HypertableMigrateDataIntegrationTests : MigrationTestBase, IAsyncLi
1414
private PostgreSqlContainer? _container;
1515
private string? _connectionString;
1616

17-
public async Task InitializeAsync()
17+
public async ValueTask InitializeAsync()
1818
{
1919
_container = new PostgreSqlBuilder("timescale/timescaledb:latest-pg17")
2020
.WithDatabase("test_db")
@@ -26,7 +26,7 @@ public async Task InitializeAsync()
2626
_connectionString = _container.GetConnectionString();
2727
}
2828

29-
public async Task DisposeAsync()
29+
public async ValueTask DisposeAsync()
3030
{
3131
if (_container != null)
3232
{
@@ -306,7 +306,7 @@ await initialContext.Database.ExecuteSqlInterpolatedAsync($@"
306306
VALUES
307307
({new DateTime(2025, 1, 1, 10, 0, 0, DateTimeKind.Utc)}, {"device_1"}, {20.5}),
308308
({new DateTime(2025, 1, 1, 11, 0, 0, DateTimeKind.Utc)}, {"device_2"}, {21.0}),
309-
({new DateTime(2025, 1, 2, 10, 0, 0, DateTimeKind.Utc)}, {"device_3"}, {19.5})");
309+
({new DateTime(2025, 1, 2, 10, 0, 0, DateTimeKind.Utc)}, {"device_3"}, {19.5})", TestContext.Current.CancellationToken);
310310

311311
// Verify data exists before conversion
312312
int countBeforeConversion = await GetRowCountAsync(initialContext, "SensorDataMigration");
@@ -325,7 +325,7 @@ await initialContext.Database.ExecuteSqlInterpolatedAsync($@"
325325
Assert.Equal(3, countAfterConversion);
326326

327327
// Assert - Verify data can still be queried via EF Core
328-
List<ExistingDataEntity> data = await convertedContext.SensorData.ToListAsync();
328+
List<ExistingDataEntity> data = await convertedContext.SensorData.ToListAsync(TestContext.Current.CancellationToken);
329329
Assert.Equal(3, data.Count);
330330
Assert.Contains(data, d => d.DeviceId == "device_1" && d.Temperature == 20.5);
331331
Assert.Contains(data, d => d.DeviceId == "device_2" && d.Temperature == 21.0);
@@ -391,7 +391,7 @@ public async Task Should_Apply_MigrateData_False_When_Converting_To_Hypertable()
391391
await initialContext.Database.ExecuteSqlInterpolatedAsync($@"
392392
INSERT INTO ""SensorDataNoMigration"" (""Timestamp"", ""DeviceId"", ""Temperature"")
393393
VALUES
394-
({new DateTime(2025, 1, 1, 10, 0, 0, DateTimeKind.Utc)}, {"device_1"}, {20.5})");
394+
({new DateTime(2025, 1, 1, 10, 0, 0, DateTimeKind.Utc)}, {"device_1"}, {20.5})", TestContext.Current.CancellationToken);
395395

396396
// Verify data exists before conversion
397397
int countBeforeConversion = await GetRowCountAsync(initialContext, "SensorDataNoMigration");

tests/Eftdb.Tests/Integration/HypertableScaffoldingExtractorTests.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class HypertableScaffoldingExtractorTests : MigrationTestBase, IAsyncLife
1212
private PostgreSqlContainer? _container;
1313
private string? _connectionString;
1414

15-
public async Task InitializeAsync()
15+
public async ValueTask InitializeAsync()
1616
{
1717
_container = new PostgreSqlBuilder("timescale/timescaledb:latest-pg17")
1818
.WithDatabase("test_db")
@@ -24,7 +24,7 @@ public async Task InitializeAsync()
2424
_connectionString = _container.GetConnectionString();
2525
}
2626

27-
public async Task DisposeAsync()
27+
public async ValueTask DisposeAsync()
2828
{
2929
if (_container != null)
3030
{
@@ -373,9 +373,11 @@ public async Task Should_Extract_ChunkSkipColumns()
373373
await CreateDatabaseViaMigrationAsync(context);
374374

375375
await context.Database.ExecuteSqlRawAsync(
376-
"INSERT INTO \"Metrics\" (\"Timestamp\", \"DeviceId\", \"Location\", \"Value\", \"SensorId\") VALUES (NOW(), 'device1', 'location1', 100.0, 1)");
376+
"INSERT INTO \"Metrics\" (\"Timestamp\", \"DeviceId\", \"Location\", \"Value\", \"SensorId\") VALUES (NOW(), 'device1', 'location1', 100.0, 1)",
377+
TestContext.Current.CancellationToken);
377378
await context.Database.ExecuteSqlRawAsync(
378-
"SELECT compress_chunk(i) FROM show_chunks('\"Metrics\"') AS i;");
379+
"SELECT compress_chunk(i) FROM show_chunks('\"Metrics\"') AS i;",
380+
TestContext.Current.CancellationToken);
379381

380382
HypertableScaffoldingExtractor extractor = new();
381383
await using NpgsqlConnection connection = new(_connectionString);

tests/Eftdb.Tests/Integration/MigrationLifecycleTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class MigrationLifecycleTests : MigrationTestBase, IAsyncLifetime
1515
private PostgreSqlContainer? _container;
1616
private string? _connectionString;
1717

18-
public async Task InitializeAsync()
18+
public async ValueTask InitializeAsync()
1919
{
2020
_container = new PostgreSqlBuilder("timescale/timescaledb:latest-pg17")
2121
.WithDatabase("test_db")
@@ -27,7 +27,7 @@ public async Task InitializeAsync()
2727
_connectionString = _container.GetConnectionString();
2828
}
2929

30-
public async Task DisposeAsync()
30+
public async ValueTask DisposeAsync()
3131
{
3232
if (_container != null)
3333
{

0 commit comments

Comments
 (0)