diff --git a/package-versions.props b/package-versions.props
index e894e80861..894fd70d25 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.*
@@ -15,9 +15,8 @@
2.3.*
2.0.*
8.0.*
- 17.8.*
- 2.6.*
- 2.5.*
+ 17.9.*
+ 2.8.*
@@ -26,7 +25,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");
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