From 9c51fe3623945a364a02f55cddf96c4b79e43604 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 19 Apr 2024 00:28:23 +0000
Subject: [PATCH 01/13] Bump jetbrains.resharper.globaltools from 2024.1.0 to
2024.1.1 (#1531)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 6344f46965..93bbf445af 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2024.1.0",
+ "version": "2024.1.1",
"commands": [
"jb"
]
From e146c9685db44223c3b69f0d2bf5a07f4964c560 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 4 May 2024 11:01:47 +0000
Subject: [PATCH 02/13] Bump dotnet-reportgenerator-globaltool from 5.2.4 to
5.2.5 (#1536)
---
.config/dotnet-tools.json | 2 +-
.github/workflows/build.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 93bbf445af..7f8d6bab15 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.2.4",
+ "version": "5.2.5",
"commands": [
"reportgenerator"
]
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 65fd3ff64d..47f5938a2f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -38,7 +38,7 @@ jobs:
- name: Tune GitHub-hosted runner network
uses: smorimoto/tune-github-hosted-runner-network@v1
- name: Setup PostgreSQL
- uses: ikalnytskyi/action-setup-postgres@v5
+ uses: ikalnytskyi/action-setup-postgres@v6
with:
username: postgres
password: postgres
From 7803b1ccfcd07a108606f38ff46abf94c1a3f34d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 4 May 2024 11:59:54 +0000
Subject: [PATCH 03/13] Bump peaceiris/actions-gh-pages from 3 to 4 (#1530)
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 47f5938a2f..9ef1f2f119 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -302,7 +302,7 @@ jobs:
dotnet nuget push "$env:GITHUB_WORKSPACE/packages/*.nupkg" --api-key "$env:GITHUB_TOKEN" --source 'github'
- name: Publish documentation
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
- uses: peaceiris/actions-gh-pages@v3
+ uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
From 37e9ad23f9cf3c9db7a35a92b23d33e397acd335 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 4 May 2024 12:17:29 +0000
Subject: [PATCH 04/13] Bump JetBrains/qodana-action from 2023.3 to 2024.1
(#1538)
---
.github/workflows/qodana.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/qodana.yml b/.github/workflows/qodana.yml
index f1a64da824..8ce0acd5db 100644
--- a/.github/workflows/qodana.yml
+++ b/.github/workflows/qodana.yml
@@ -22,7 +22,7 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit
fetch-depth: 0 # a full history is required for pull request analysis
- name: 'Qodana Scan'
- uses: JetBrains/qodana-action@v2023.3
+ uses: JetBrains/qodana-action@v2024.1
env:
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
- name: Upload results to artifacts on failure
From 3674339b36c7fa887a9bc31149c4eed4490f4556 Mon Sep 17 00:00:00 2001
From: Bart Koelman <10324372+bkoelman@users.noreply.github.com>
Date: Sun, 5 May 2024 11:35:09 +0200
Subject: [PATCH 05/13] Update Dapper MySQL example/tests to work with latest
version
---
package-versions.props | 2 +-
src/Examples/DapperExample/appsettings.json | 4 ++--
test/DapperTests/IntegrationTests/DapperTestContext.cs | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package-versions.props b/package-versions.props
index e894e80861..e5d49f2b40 100644
--- a/package-versions.props
+++ b/package-versions.props
@@ -26,7 +26,7 @@
8.0.*
- 8.0.*-*
+ 8.0.*
$(AspNetCoreVersion)
diff --git a/src/Examples/DapperExample/appsettings.json b/src/Examples/DapperExample/appsettings.json
index b4ddb2dac9..7854646e7f 100644
--- a/src/Examples/DapperExample/appsettings.json
+++ b/src/Examples/DapperExample/appsettings.json
@@ -4,9 +4,9 @@
// docker run --rm --detach --name dapper-example-postgresql-db -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres:latest
// docker run --rm --detach --name dapper-example-postgresql-management --link dapper-example-postgresql-db:db -e PGADMIN_DEFAULT_EMAIL=admin@admin.com -e PGADMIN_DEFAULT_PASSWORD=postgres -p 5050:80 dpage/pgadmin4:latest
"DapperExamplePostgreSql": "Host=localhost;Database=DapperExample;User ID=postgres;Password=postgres;Include Error Detail=true",
- // docker run --rm --detach --name dapper-example-mysql-db -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=DapperExample -e MYSQL_USER=mysql -e MYSQL_PASSWORD=mysql -p 3306:3306 mysql:latest --default-authentication-plugin=mysql_native_password
+ // docker run --rm --detach --name dapper-example-mysql-db -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=DapperExample -e MYSQL_USER=mysql -e MYSQL_PASSWORD=mysql -p 3306:3306 mysql:latest
// docker run --rm --detach --name dapper-example-mysql-management --link dapper-example-mysql-db:db -p 8081:80 phpmyadmin/phpmyadmin
- "DapperExampleMySql": "Host=localhost;Database=DapperExample;User ID=mysql;Password=mysql",
+ "DapperExampleMySql": "Host=localhost;Database=DapperExample;User ID=mysql;Password=mysql;SSL Mode=None;AllowPublicKeyRetrieval=True",
// docker run --rm --detach --name dapper-example-sqlserver -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Passw0rd!" -p 1433:1433 mcr.microsoft.com/mssql/server:2022-latest
"DapperExampleSqlServer": "Server=localhost;Database=DapperExample;User ID=sa;Password=Passw0rd!;TrustServerCertificate=true"
},
diff --git a/test/DapperTests/IntegrationTests/DapperTestContext.cs b/test/DapperTests/IntegrationTests/DapperTestContext.cs
index 233162e2e8..5817db099a 100644
--- a/test/DapperTests/IntegrationTests/DapperTestContext.cs
+++ b/test/DapperTests/IntegrationTests/DapperTestContext.cs
@@ -58,7 +58,7 @@ private WebApplicationFactory CreateFactory()
$"Host=localhost;Database=DapperExample-{Guid.NewGuid():N};User ID=postgres;Password=postgres;Include Error Detail=true");
builder.UseSetting("ConnectionStrings:DapperExampleMySql",
- $"Host=localhost;Database=DapperExample-{Guid.NewGuid():N};User ID=root;Password=mysql;SSL Mode=None");
+ $"Host=localhost;Database=DapperExample-{Guid.NewGuid():N};User ID=root;Password=mysql;SSL Mode=None;AllowPublicKeyRetrieval=True");
builder.UseSetting("ConnectionStrings:DapperExampleSqlServer",
$"Server=localhost;Database=DapperExample-{Guid.NewGuid():N};User ID=sa;Password=Passw0rd!;TrustServerCertificate=true");
From 42ee715e335781ae3f2004ff502a0fa83b65f333 Mon Sep 17 00:00:00 2001
From: Bart Koelman <10324372+bkoelman@users.noreply.github.com>
Date: Sun, 5 May 2024 11:44:18 +0200
Subject: [PATCH 06/13] Update Bogus to v35.5.x
---
package-versions.props | 2 +-
.../IntegrationTests/FrozenClock.cs | 6 +--
.../IntegrationTests/TestFakers.cs | 14 +++----
.../Archiving/TelevisionFakers.cs | 10 ++---
.../AtomicOperations/OperationsFakers.cs | 14 +++----
.../Authorization/Scopes/ScopesFakers.cs | 8 ++--
.../IntegrationTests/Blobs/BlobFakers.cs | 4 +-
.../CompositeKeys/CompositeKeyFakers.cs | 8 ++--
.../CustomRoutes/CustomRouteFakers.cs | 6 +--
.../EagerLoading/EagerLoadingFakers.cs | 14 +++----
.../HostingInIIS/HostingFakers.cs | 6 +--
.../IdObfuscation/ObfuscationFakers.cs | 6 +--
.../ModelState/ModelStateFakers.cs | 8 ++--
.../IntegrationTests/Links/LinksFakers.cs | 8 ++--
.../IntegrationTests/Logging/LoggingFakers.cs | 8 ++--
.../IntegrationTests/Meta/MetaFakers.cs | 6 +--
.../Microservices/DomainFakers.cs | 6 +--
.../MultiTenancy/MultiTenancyFakers.cs | 6 +--
.../NamingConventions/NamingFakers.cs | 8 ++--
.../QueryStrings/QueryStringFakers.cs | 26 ++++++------
.../ReadWrite/ReadWriteFakers.cs | 12 +++---
.../DefaultBehaviorFakers.cs | 8 ++--
.../InjectionFakers.cs | 6 +--
.../Reading/UniverseFakers.cs | 8 ++--
.../Serialization/SerializationFakers.cs | 6 +--
.../ResourceInheritanceFakers.cs | 40 +++++++++----------
.../RestrictionFakers.cs | 14 +++----
.../Serialization/SerializationFakers.cs | 6 +--
.../SoftDeletion/SoftDeletionFakers.cs | 6 +--
.../ZeroKeys/ZeroKeyFakers.cs | 8 ++--
.../{FakerContainer.cs => FakerExtensions.cs} | 17 +++++---
test/TestBuildingBlocks/FrozenSystemClock.cs | 5 ++-
32 files changed, 157 insertions(+), 153 deletions(-)
rename test/TestBuildingBlocks/{FakerContainer.cs => FakerExtensions.cs} (86%)
diff --git a/package-versions.props b/package-versions.props
index e5d49f2b40..c809c7e2c9 100644
--- a/package-versions.props
+++ b/package-versions.props
@@ -7,7 +7,7 @@
0.13.*
- 35.2.*
+ 35.5.*
4.9.*
6.0.*
2.1.*
diff --git a/test/DapperTests/IntegrationTests/FrozenClock.cs b/test/DapperTests/IntegrationTests/FrozenClock.cs
index c7ca4ea851..7edfadce5b 100644
--- a/test/DapperTests/IntegrationTests/FrozenClock.cs
+++ b/test/DapperTests/IntegrationTests/FrozenClock.cs
@@ -1,13 +1,11 @@
using DapperExample;
-using FluentAssertions.Extensions;
using JetBrains.Annotations;
+using TestBuildingBlocks;
namespace DapperTests.IntegrationTests;
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
internal sealed class FrozenClock : IClock
{
- private static readonly DateTimeOffset DefaultTime = 1.January(2020).At(1, 1, 1).AsUtc();
-
- public DateTimeOffset UtcNow { get; set; } = DefaultTime;
+ public DateTimeOffset UtcNow { get; set; } = FrozenSystemClock.DefaultDateTimeOffsetUtc;
}
diff --git a/test/DapperTests/IntegrationTests/TestFakers.cs b/test/DapperTests/IntegrationTests/TestFakers.cs
index 7b66367b7c..8b95338aea 100644
--- a/test/DapperTests/IntegrationTests/TestFakers.cs
+++ b/test/DapperTests/IntegrationTests/TestFakers.cs
@@ -9,11 +9,11 @@
namespace DapperTests.IntegrationTests;
-internal sealed class TestFakers : FakerContainer
+internal sealed class TestFakers
{
private readonly Lazy> _lazyTodoItemFaker = new(() =>
new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(todoItem => todoItem.Description, faker => faker.Lorem.Sentence())
.RuleFor(todoItem => todoItem.Priority, faker => faker.Random.Enum())
.RuleFor(todoItem => todoItem.DurationInHours, faker => faker.Random.Long(1, 250))
@@ -24,31 +24,31 @@ internal sealed class TestFakers : FakerContainer
private readonly Lazy> _lazyLoginAccountFaker = new(() =>
new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(loginAccount => loginAccount.UserName, faker => faker.Internet.UserName())
.RuleFor(loginAccount => loginAccount.LastUsedAt, faker => faker.Date.PastOffset()
.TruncateToWholeMilliseconds()));
private readonly Lazy> _lazyAccountRecoveryFaker = new(() =>
new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(accountRecovery => accountRecovery.PhoneNumber, faker => faker.Person.Phone)
.RuleFor(accountRecovery => accountRecovery.EmailAddress, faker => faker.Person.Email));
private readonly Lazy> _lazyPersonFaker = new(() =>
new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(person => person.FirstName, faker => faker.Name.FirstName())
.RuleFor(person => person.LastName, faker => faker.Name.LastName()));
private readonly Lazy> _lazyTagFaker = new(() =>
new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(tag => tag.Name, faker => faker.Lorem.Word()));
private readonly Lazy> _lazyRgbColorFaker = new(() =>
new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(rgbColor => rgbColor.Id, faker => RgbColorType.Create(faker.Random.Byte(), faker.Random.Byte(), faker.Random.Byte())
.Id));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Archiving/TelevisionFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Archiving/TelevisionFakers.cs
index 18b5536f36..3fd7fb7b5c 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Archiving/TelevisionFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Archiving/TelevisionFakers.cs
@@ -6,24 +6,24 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.Archiving;
-internal sealed class TelevisionFakers : FakerContainer
+internal sealed class TelevisionFakers
{
private readonly Lazy> _lazyTelevisionNetworkFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(network => network.Name, faker => faker.Company.CompanyName()));
private readonly Lazy> _lazyTelevisionStationFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(station => station.Name, faker => faker.Company.CompanyName()));
private readonly Lazy> _lazyTelevisionBroadcastFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(broadcast => broadcast.Title, faker => faker.Lorem.Sentence())
.RuleFor(broadcast => broadcast.AiredAt, faker => faker.Date.PastOffset().TruncateToWholeMilliseconds())
.RuleFor(broadcast => broadcast.ArchivedAt, faker => faker.Date.RecentOffset().TruncateToWholeMilliseconds()));
private readonly Lazy> _lazyBroadcastCommentFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(comment => comment.Text, faker => faker.Lorem.Paragraph())
.RuleFor(comment => comment.CreatedAt, faker => faker.Date.PastOffset().TruncateToWholeMilliseconds()));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/OperationsFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/OperationsFakers.cs
index 6666a4ffb9..b66fa6d5df 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/OperationsFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/OperationsFakers.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.AtomicOperations;
-internal sealed class OperationsFakers : FakerContainer
+internal sealed class OperationsFakers
{
private static readonly Lazy> LazyLanguageIsoCodes = new(() => CultureInfo
.GetCultures(CultureTypes.NeutralCultures)
@@ -16,32 +16,32 @@ internal sealed class OperationsFakers : FakerContainer
.ToArray());
private readonly Lazy> _lazyPlaylistFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(playlist => playlist.Name, faker => faker.Lorem.Sentence()));
private readonly Lazy> _lazyMusicTrackFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(musicTrack => musicTrack.Title, faker => faker.Lorem.Word())
.RuleFor(musicTrack => musicTrack.LengthInSeconds, faker => faker.Random.Decimal(3 * 60, 5 * 60))
.RuleFor(musicTrack => musicTrack.Genre, faker => faker.Lorem.Word())
.RuleFor(musicTrack => musicTrack.ReleasedAt, faker => faker.Date.PastOffset().TruncateToWholeMilliseconds()));
private readonly Lazy> _lazyLyricFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(lyric => lyric.Text, faker => faker.Lorem.Text())
.RuleFor(lyric => lyric.Format, "LRC"));
private readonly Lazy> _lazyTextLanguageFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(textLanguage => textLanguage.IsoCode, faker => faker.PickRandom(LazyLanguageIsoCodes.Value)));
private readonly Lazy> _lazyPerformerFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(performer => performer.ArtistName, faker => faker.Name.FullName())
.RuleFor(performer => performer.BornAt, faker => faker.Date.PastOffset().TruncateToWholeMilliseconds()));
private readonly Lazy> _lazyRecordCompanyFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(recordCompany => recordCompany.Name, faker => faker.Company.CompanyName())
.RuleFor(recordCompany => recordCompany.CountryOfResidence, faker => faker.Address.Country()));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Authorization/Scopes/ScopesFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Authorization/Scopes/ScopesFakers.cs
index 3e89966d4d..ab3da93f38 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Authorization/Scopes/ScopesFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Authorization/Scopes/ScopesFakers.cs
@@ -6,21 +6,21 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.Authorization.Scopes;
-internal sealed class ScopesFakers : FakerContainer
+internal sealed class ScopesFakers
{
private readonly Lazy> _lazyMovieFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(movie => movie.Title, faker => faker.Random.Words())
.RuleFor(movie => movie.ReleaseYear, faker => faker.Random.Int(1900, 2050))
.RuleFor(movie => movie.DurationInSeconds, faker => faker.Random.Int(300, 14400)));
private readonly Lazy> _lazyActorFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(actor => actor.Name, faker => faker.Person.FullName)
.RuleFor(actor => actor.BornAt, faker => faker.Date.Past()));
private readonly Lazy> _lazyGenreFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(genre => genre.Name, faker => faker.Random.Word()));
public Faker Movie => _lazyMovieFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Blobs/BlobFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Blobs/BlobFakers.cs
index 22f5a20d36..be84cf1ad1 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Blobs/BlobFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Blobs/BlobFakers.cs
@@ -6,10 +6,10 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.Blobs;
-internal sealed class BlobFakers : FakerContainer
+internal sealed class BlobFakers
{
private readonly Lazy> _lazyImageContainerFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(imageContainer => imageContainer.FileName, faker => faker.System.FileName())
.RuleFor(imageContainer => imageContainer.Data, faker => faker.Random.Bytes(128))
.RuleFor(imageContainer => imageContainer.Thumbnail, faker => faker.Random.Bytes(64)));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/CompositeKeys/CompositeKeyFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/CompositeKeys/CompositeKeyFakers.cs
index e64e7bf8b2..56cc55beee 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/CompositeKeys/CompositeKeyFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/CompositeKeys/CompositeKeyFakers.cs
@@ -6,19 +6,19 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.CompositeKeys;
-internal sealed class CompositeKeyFakers : FakerContainer
+internal sealed class CompositeKeyFakers
{
private readonly Lazy> _lazyCarFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(car => car.LicensePlate, faker => faker.Random.Replace("??-??-##"))
.RuleFor(car => car.RegionId, faker => faker.Random.Long(100, 999)));
private readonly Lazy> _lazyEngineFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(engine => engine.SerialCode, faker => faker.Random.Replace("????-????")));
private readonly Lazy> _lazyDealershipFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(dealership => dealership.Address, faker => faker.Address.FullAddress()));
public Faker Car => _lazyCarFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/CustomRoutes/CustomRouteFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/CustomRoutes/CustomRouteFakers.cs
index 5a0452010c..832993a626 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/CustomRoutes/CustomRouteFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/CustomRoutes/CustomRouteFakers.cs
@@ -6,16 +6,16 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.CustomRoutes;
-internal sealed class CustomRouteFakers : FakerContainer
+internal sealed class CustomRouteFakers
{
private readonly Lazy> _lazyTownFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(town => town.Name, faker => faker.Address.City())
.RuleFor(town => town.Latitude, faker => faker.Address.Latitude())
.RuleFor(town => town.Longitude, faker => faker.Address.Longitude()));
private readonly Lazy> _lazyCivilianFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(civilian => civilian.Name, faker => faker.Person.FullName));
public Faker Town => _lazyTownFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/EagerLoading/EagerLoadingFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/EagerLoading/EagerLoadingFakers.cs
index 77e25a8192..73ad80ce33 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/EagerLoading/EagerLoadingFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/EagerLoading/EagerLoadingFakers.cs
@@ -6,31 +6,31 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.EagerLoading;
-internal sealed class EagerLoadingFakers : FakerContainer
+internal sealed class EagerLoadingFakers
{
private readonly Lazy> _lazyStateFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(state => state.Name, faker => faker.Address.City()));
private readonly Lazy> _lazyCityFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(city => city.Name, faker => faker.Address.City()));
private readonly Lazy> _lazyStreetFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(street => street.Name, faker => faker.Address.StreetName()));
private readonly Lazy> _lazyBuildingFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(building => building.Number, faker => faker.Address.BuildingNumber()));
private readonly Lazy> _lazyWindowFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(window => window.HeightInCentimeters, faker => faker.Random.Number(30, 199))
.RuleFor(window => window.WidthInCentimeters, faker => faker.Random.Number(30, 199)));
private readonly Lazy> _lazyDoorFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(door => door.Color, faker => faker.Commerce.Color()));
public Faker State => _lazyStateFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/HostingInIIS/HostingFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/HostingInIIS/HostingFakers.cs
index 33bd79ba9d..8fb0944c32 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/HostingInIIS/HostingFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/HostingInIIS/HostingFakers.cs
@@ -6,14 +6,14 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.HostingInIIS;
-internal sealed class HostingFakers : FakerContainer
+internal sealed class HostingFakers
{
private readonly Lazy> _lazyArtGalleryFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(artGallery => artGallery.Theme, faker => faker.Lorem.Word()));
private readonly Lazy> _lazyPaintingFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(painting => painting.Title, faker => faker.Lorem.Sentence()));
public Faker ArtGallery => _lazyArtGalleryFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/IdObfuscation/ObfuscationFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/IdObfuscation/ObfuscationFakers.cs
index 2755d1ebcb..001a2cbe52 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/IdObfuscation/ObfuscationFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/IdObfuscation/ObfuscationFakers.cs
@@ -6,14 +6,14 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.IdObfuscation;
-internal sealed class ObfuscationFakers : FakerContainer
+internal sealed class ObfuscationFakers
{
private readonly Lazy> _lazyBankAccountFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(bankAccount => bankAccount.Iban, faker => faker.Finance.Iban()));
private readonly Lazy> _lazyDebitCardFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(debitCard => debitCard.OwnerName, faker => faker.Name.FullName())
.RuleFor(debitCard => debitCard.PinCode, faker => (short)faker.Random.Number(1000, 9999)));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/InputValidation/ModelState/ModelStateFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/InputValidation/ModelState/ModelStateFakers.cs
index 1939a168dc..6a11c9c247 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/InputValidation/ModelState/ModelStateFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/InputValidation/ModelState/ModelStateFakers.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.InputValidation.ModelState;
-internal sealed class ModelStateFakers : FakerContainer
+internal sealed class ModelStateFakers
{
private static readonly DateOnly MinCreatedOn = DateOnly.Parse("2000-01-01", CultureInfo.InvariantCulture);
private static readonly DateOnly MaxCreatedOn = DateOnly.Parse("2050-01-01", CultureInfo.InvariantCulture);
@@ -16,11 +16,11 @@ internal sealed class ModelStateFakers : FakerContainer
private static readonly TimeOnly MaxCreatedAt = TimeOnly.Parse("17:30:00", CultureInfo.InvariantCulture);
private readonly Lazy> _lazySystemVolumeFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(systemVolume => systemVolume.Name, faker => faker.Lorem.Word()));
private readonly Lazy> _lazySystemFileFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(systemFile => systemFile.FileName, faker => faker.System.FileName())
.RuleFor(systemFile => systemFile.Attributes, faker => faker.Random.Enum(FileAttributes.Normal, FileAttributes.Hidden, FileAttributes.ReadOnly))
.RuleFor(systemFile => systemFile.SizeInBytes, faker => faker.Random.Long(0, 1_000_000))
@@ -28,7 +28,7 @@ internal sealed class ModelStateFakers : FakerContainer
.RuleFor(systemFile => systemFile.CreatedAt, faker => faker.Date.BetweenTimeOnly(MinCreatedAt, MaxCreatedAt)));
private readonly Lazy> _lazySystemDirectoryFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(systemDirectory => systemDirectory.Name, faker => Path.GetFileNameWithoutExtension(faker.System.FileName()))
.RuleFor(systemDirectory => systemDirectory.IsCaseSensitive, faker => faker.Random.Bool()));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Links/LinksFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Links/LinksFakers.cs
index a1acafeb7d..4b7da39862 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Links/LinksFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Links/LinksFakers.cs
@@ -6,18 +6,18 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.Links;
-internal sealed class LinksFakers : FakerContainer
+internal sealed class LinksFakers
{
private readonly Lazy> _lazyPhotoAlbumFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(photoAlbum => photoAlbum.Name, faker => faker.Lorem.Sentence()));
private readonly Lazy> _lazyPhotoFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(photo => photo.Url, faker => faker.Image.PlaceImgUrl()));
private readonly Lazy> _lazyPhotoLocationFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(photoLocation => photoLocation.PlaceName, faker => faker.Address.FullAddress())
.RuleFor(photoLocation => photoLocation.Latitude, faker => faker.Address.Latitude())
.RuleFor(photoLocation => photoLocation.Longitude, faker => faker.Address.Longitude()));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Logging/LoggingFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Logging/LoggingFakers.cs
index a52f164bf0..a66cdcdf55 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Logging/LoggingFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Logging/LoggingFakers.cs
@@ -6,19 +6,19 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.Logging;
-internal sealed class LoggingFakers : FakerContainer
+internal sealed class LoggingFakers
{
private readonly Lazy> _lazyAuditEntryFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(auditEntry => auditEntry.UserName, faker => faker.Internet.UserName())
.RuleFor(auditEntry => auditEntry.CreatedAt, faker => faker.Date.PastOffset().TruncateToWholeMilliseconds()));
private readonly Lazy> _lazyBananaFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(banana => banana.LengthInCentimeters, faker => faker.Random.Double(10, 25)));
private readonly Lazy> _lazyPeachFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(peach => peach.DiameterInCentimeters, faker => faker.Random.Double(6, 7.5)));
public Faker AuditEntry => _lazyAuditEntryFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Meta/MetaFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Meta/MetaFakers.cs
index c6cd2b5859..019dd6aa9b 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Meta/MetaFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Meta/MetaFakers.cs
@@ -6,14 +6,14 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.Meta;
-internal sealed class MetaFakers : FakerContainer
+internal sealed class MetaFakers
{
private readonly Lazy> _lazyProductFamilyFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(productFamily => productFamily.Name, faker => faker.Commerce.ProductName()));
private readonly Lazy> _lazySupportTicketFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(supportTicket => supportTicket.Description, faker => faker.Lorem.Paragraph()));
public Faker ProductFamily => _lazyProductFamilyFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/DomainFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/DomainFakers.cs
index 54d3812b97..c536656d9d 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/DomainFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Microservices/DomainFakers.cs
@@ -6,15 +6,15 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.Microservices;
-internal sealed class DomainFakers : FakerContainer
+internal sealed class DomainFakers
{
private readonly Lazy> _lazyDomainUserFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(domainUser => domainUser.LoginName, faker => faker.Person.UserName)
.RuleFor(domainUser => domainUser.DisplayName, faker => faker.Person.FullName));
private readonly Lazy> _lazyDomainGroupFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(domainGroup => domainGroup.Name, faker => faker.Commerce.Department()));
public Faker DomainUser => _lazyDomainUserFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/MultiTenancy/MultiTenancyFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/MultiTenancy/MultiTenancyFakers.cs
index e92f23808f..b8e64ad1ce 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/MultiTenancy/MultiTenancyFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/MultiTenancy/MultiTenancyFakers.cs
@@ -6,14 +6,14 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.MultiTenancy;
-internal sealed class MultiTenancyFakers : FakerContainer
+internal sealed class MultiTenancyFakers
{
private readonly Lazy> _lazyWebShopFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(webShop => webShop.Url, faker => faker.Internet.Url()));
private readonly Lazy> _lazyWebProductFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(webProduct => webProduct.Name, faker => faker.Commerce.ProductName())
.RuleFor(webProduct => webProduct.Price, faker => faker.Finance.Amount()));
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/NamingConventions/NamingFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/NamingConventions/NamingFakers.cs
index dee6e4b19f..58e412a14b 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/NamingConventions/NamingFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/NamingConventions/NamingFakers.cs
@@ -6,18 +6,18 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.NamingConventions;
-internal sealed class NamingFakers : FakerContainer
+internal sealed class NamingFakers
{
private readonly Lazy> _lazySwimmingPoolFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(swimmingPool => swimmingPool.IsIndoor, faker => faker.Random.Bool()));
private readonly Lazy> _lazyWaterSlideFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(waterSlide => waterSlide.LengthInMeters, faker => faker.Random.Decimal(3, 100)));
private readonly Lazy> _lazyDivingBoardFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(divingBoard => divingBoard.HeightInMeters, faker => faker.Random.Decimal(1, 15)));
public Faker SwimmingPool => _lazySwimmingPoolFaker.Value;
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/QueryStrings/QueryStringFakers.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/QueryStrings/QueryStringFakers.cs
index 849e53b720..36e5e454e7 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/QueryStrings/QueryStringFakers.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/QueryStrings/QueryStringFakers.cs
@@ -6,31 +6,31 @@
namespace JsonApiDotNetCoreTests.IntegrationTests.QueryStrings;
-internal sealed class QueryStringFakers : FakerContainer
+internal sealed class QueryStringFakers
{
private readonly Lazy> _lazyBlogFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(blog => blog.Title, faker => faker.Lorem.Word())
.RuleFor(blog => blog.PlatformName, faker => faker.Company.CompanyName()));
private readonly Lazy> _lazyBlogPostFaker = new(() => new Faker()
- .UseSeed(GetFakerSeed())
+ .MakeDeterministic()
.RuleFor(blogPost => blogPost.Caption, faker => faker.Lorem.Sentence())
.RuleFor(blogPost => blogPost.Url, faker => faker.Internet.Url()));
private readonly Lazy> _lazyLabelFaker = new(() => new Faker