From 51fb60443fc718992965913dc7cc3970c1e00f3a Mon Sep 17 00:00:00 2001 From: mnbuhl Date: Sat, 4 Jan 2025 12:55:09 +0100 Subject: [PATCH 1/5] Stop nuget vulnerabilities from preventing build of projects --- src/PersistedCache.FileSystem/PersistedCache.FileSystem.csproj | 1 + src/PersistedCache.MongoDb/PersistedCache.MongoDb.csproj | 1 + src/PersistedCache.MySql/PersistedCache.MySql.csproj | 1 + src/PersistedCache.PostgreSql/PersistedCache.PostgreSql.csproj | 1 + src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj | 1 + src/PersistedCache.Sqlite/PersistedCache.Sqlite.csproj | 1 + src/PersistedCache/PersistedCache.csproj | 1 + 7 files changed, 7 insertions(+) diff --git a/src/PersistedCache.FileSystem/PersistedCache.FileSystem.csproj b/src/PersistedCache.FileSystem/PersistedCache.FileSystem.csproj index ee2f5ab..a4a0dac 100644 --- a/src/PersistedCache.FileSystem/PersistedCache.FileSystem.csproj +++ b/src/PersistedCache.FileSystem/PersistedCache.FileSystem.csproj @@ -8,6 +8,7 @@ true true PersistedCache + NU1901,NU1902,NU1903,NU1904 diff --git a/src/PersistedCache.MongoDb/PersistedCache.MongoDb.csproj b/src/PersistedCache.MongoDb/PersistedCache.MongoDb.csproj index 7e907f4..ef08d49 100644 --- a/src/PersistedCache.MongoDb/PersistedCache.MongoDb.csproj +++ b/src/PersistedCache.MongoDb/PersistedCache.MongoDb.csproj @@ -8,6 +8,7 @@ true true PersistedCache + NU1901,NU1902,NU1903,NU1904 diff --git a/src/PersistedCache.MySql/PersistedCache.MySql.csproj b/src/PersistedCache.MySql/PersistedCache.MySql.csproj index 3d81c56..df84fa8 100644 --- a/src/PersistedCache.MySql/PersistedCache.MySql.csproj +++ b/src/PersistedCache.MySql/PersistedCache.MySql.csproj @@ -8,6 +8,7 @@ true true PersistedCache + NU1901,NU1902,NU1903,NU1904 diff --git a/src/PersistedCache.PostgreSql/PersistedCache.PostgreSql.csproj b/src/PersistedCache.PostgreSql/PersistedCache.PostgreSql.csproj index 317d8a0..b87b680 100644 --- a/src/PersistedCache.PostgreSql/PersistedCache.PostgreSql.csproj +++ b/src/PersistedCache.PostgreSql/PersistedCache.PostgreSql.csproj @@ -8,6 +8,7 @@ true true PersistedCache + NU1901,NU1902,NU1903,NU1904 diff --git a/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj b/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj index 3687472..3a6d2b9 100644 --- a/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj +++ b/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj @@ -8,6 +8,7 @@ true true PersistedCache + NU1901,NU1902,NU1903,NU1904 diff --git a/src/PersistedCache.Sqlite/PersistedCache.Sqlite.csproj b/src/PersistedCache.Sqlite/PersistedCache.Sqlite.csproj index d5c4bbe..24a7a06 100644 --- a/src/PersistedCache.Sqlite/PersistedCache.Sqlite.csproj +++ b/src/PersistedCache.Sqlite/PersistedCache.Sqlite.csproj @@ -8,6 +8,7 @@ true true PersistedCache + NU1901,NU1902,NU1903,NU1904 diff --git a/src/PersistedCache/PersistedCache.csproj b/src/PersistedCache/PersistedCache.csproj index b1a3397..f7d957d 100644 --- a/src/PersistedCache/PersistedCache.csproj +++ b/src/PersistedCache/PersistedCache.csproj @@ -7,6 +7,7 @@ true true true + NU1901,NU1902,NU1903,NU1904 From 10735b1379a7450032a05609d572f77213ab22dc Mon Sep 17 00:00:00 2001 From: mnbuhl Date: Sat, 4 Jan 2025 13:03:14 +0100 Subject: [PATCH 2/5] feat(GetOrSetAsync): GetOrSetAsync now supports cancellation token in the value factory --- README.md | 49 ++++++++++--------- .../FileSystemPersistedCache.cs | 20 ++++++++ .../MongoDbPersistedCache.cs | 19 +++++++ src/PersistedCache/IPersistedCache.cs | 11 +++++ src/PersistedCache/Sql/SqlPersistedCache.cs | 47 ++++++++++++++++++ tests/PersistedCache.Tests/GetOrSetTests.cs | 19 +++++++ 6 files changed, 141 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 065234f..92562ff 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ public class MyService(IPersistedCache cache) // Get a value from the cache or set it if it doesn't exist asynchronously public async Task GetOrSetSomethingAsync() { - return await cache.GetOrSetAsync("my-async-key", async () => await GetRandomObjectAsync(), Expire.InSeconds(5)); + return await cache.GetOrSetAsync("my-async-key", async (ct) => await GetRandomObjectAsync(), Expire.InSeconds(5)); } } ``` @@ -170,29 +170,30 @@ The first cache registered will be the default cache, so you can use the `IPersi ### Methods -| Method | Description | -|--------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| -| `Set(string key, T value, Expire expiry)` | Set a value in the cache with an expiry time | -| `SetAsync(string key, T value, Expire expiry, CancellationToken cancellationToken = default)` | Set a value in the cache with an expiry time asynchronously | -| `Get(string key)` | Get a value from the cache | -| `GetAsync(string key, CancellationToken cancellationToken = default)` | Get a value from the cache asynchronously | -| `GetOrSet(string key, Func valueFactory, Expire expiry)` | Get a value from the cache or set it if it doesn't exist | -| `GetOrSetAsync(string key, Func valueFactory, Expire expiry, CancellationToken cancellationToken = default)` | Get a value from the cache or set it if it doesn't exist asynchronously | -| `GetOrSetAsync(string key, Func> valueFactory, Expire expiry, CancellationToken cancellationToken = default)` | Get a value from the cache or set it if it doesn't exist asynchronously | -| `Query(string pattern)` | Query values from the cache by pattern (* and ? wildcards supported) | -| `QueryAsync(string pattern, CancellationToken cancellationToken = default)` | Query values from the cache by pattern asynchronously (* and ? wildcards supported) | -| `Has(string key)` | Check if a value exists in the cache | -| `HasAsync(string key, CancellationToken cancellationToken = default)` | Check if a value exists in the cache asynchronously | -| `Forget(string key)` | Forget a value from the cache | -| `ForgetAsync(string key, CancellationToken cancellationToken = default)` | Forget a value from the cache asynchronously | -| `Pull(string key)` | Get a value from the cache and remove it | -| `PullAsync(string key, CancellationToken cancellationToken = default)` | Get a value from the cache and remove it asynchronously | -| `Flush()` | Flush all values from the cache | -| `FlushAsync(CancellationToken cancellationToken = default)` | Flush all values from the cache asynchronously | -| `Flush(string pattern)` | Flush values from the cache by pattern | -| `FlushAsync(string pattern, CancellationToken cancellationToken = default)` | Flush values from the cache by pattern asynchronously | -| `Purge()` | Purge the cache of expired entries | -| `PurgeAsync(CancellationToken cancellationToken = default)` | Purge the cache of expired entries asynchronously | +| Method | Description | +|---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| +| `Set(string key, T value, Expire expiry)` | Set a value in the cache with an expiry time | +| `SetAsync(string key, T value, Expire expiry, CancellationToken cancellationToken = default)` | Set a value in the cache with an expiry time asynchronously | +| `Get(string key)` | Get a value from the cache | +| `GetAsync(string key, CancellationToken cancellationToken = default)` | Get a value from the cache asynchronously | +| `GetOrSet(string key, Func valueFactory, Expire expiry)` | Get a value from the cache or set it if it doesn't exist | +| `GetOrSetAsync(string key, Func valueFactory, Expire expiry, CancellationToken cancellationToken = default)` | Get a value from the cache or set it if it doesn't exist asynchronously | +| `GetOrSetAsync(string key, Func> valueFactory, Expire expiry, CancellationToken cancellationToken = default)` | Get a value from the cache or set it if it doesn't exist asynchronously | +| `GetOrSetAsync(string key, Func> valueFactory, Expire expiry, CancellationToken cancellationToken = default)` | Get a value from the cache or set it if it doesn't exist asynchronously | +| `Query(string pattern)` | Query values from the cache by pattern (* and ? wildcards supported) | +| `QueryAsync(string pattern, CancellationToken cancellationToken = default)` | Query values from the cache by pattern asynchronously (* and ? wildcards supported) | +| `Has(string key)` | Check if a value exists in the cache | +| `HasAsync(string key, CancellationToken cancellationToken = default)` | Check if a value exists in the cache asynchronously | +| `Forget(string key)` | Forget a value from the cache | +| `ForgetAsync(string key, CancellationToken cancellationToken = default)` | Forget a value from the cache asynchronously | +| `Pull(string key)` | Get a value from the cache and remove it | +| `PullAsync(string key, CancellationToken cancellationToken = default)` | Get a value from the cache and remove it asynchronously | +| `Flush()` | Flush all values from the cache | +| `FlushAsync(CancellationToken cancellationToken = default)` | Flush all values from the cache asynchronously | +| `Flush(string pattern)` | Flush values from the cache by pattern | +| `FlushAsync(string pattern, CancellationToken cancellationToken = default)` | Flush values from the cache by pattern asynchronously | +| `Purge()` | Purge the cache of expired entries | +| `PurgeAsync(CancellationToken cancellationToken = default)` | Purge the cache of expired entries asynchronously | ### Want to contribute? diff --git a/src/PersistedCache.FileSystem/FileSystemPersistedCache.cs b/src/PersistedCache.FileSystem/FileSystemPersistedCache.cs index a2eedfc..1965145 100644 --- a/src/PersistedCache.FileSystem/FileSystemPersistedCache.cs +++ b/src/PersistedCache.FileSystem/FileSystemPersistedCache.cs @@ -153,6 +153,26 @@ public async Task GetOrSetAsync(string key, Func> valueFactory, Ex return value; } + /// + public async Task GetOrSetAsync(string key, Func> valueFactory, Expire expiry, + CancellationToken cancellationToken = default) + { + ValidateKey(key); + var value = await GetAsync(key, cancellationToken); + + if (value != null) + { + return value; + } + + value = await valueFactory(cancellationToken); + + Validators.ValidateValue(value); + await SetAsync(key, value, expiry, cancellationToken); + + return value; + } + /// public IEnumerable Query(string pattern) { diff --git a/src/PersistedCache.MongoDb/MongoDbPersistedCache.cs b/src/PersistedCache.MongoDb/MongoDbPersistedCache.cs index cd525ba..9833138 100644 --- a/src/PersistedCache.MongoDb/MongoDbPersistedCache.cs +++ b/src/PersistedCache.MongoDb/MongoDbPersistedCache.cs @@ -151,6 +151,25 @@ public async Task GetOrSetAsync(string key, Func> valueFactory, Ex return value; } + /// + public async Task GetOrSetAsync(string key, Func> valueFactory, Expire expiry, + CancellationToken cancellationToken = default) + { + var entry = await Collection.Find(x => x.Key == key && x.Expiry > DateTimeOffset.UtcNow) + .FirstOrDefaultAsync(cancellationToken); + + if (entry != null) + { + return JsonSerializer.Deserialize(entry.Value, _options.JsonOptions)!; + } + + var value = await valueFactory(cancellationToken); + Validators.ValidateValue(value); + + await SetAsync(key, value, expiry, cancellationToken); + return value; + } + /// public IEnumerable Query(string pattern) { diff --git a/src/PersistedCache/IPersistedCache.cs b/src/PersistedCache/IPersistedCache.cs index f5b2945..bc84355 100644 --- a/src/PersistedCache/IPersistedCache.cs +++ b/src/PersistedCache/IPersistedCache.cs @@ -72,6 +72,17 @@ public interface IPersistedCache /// The value from the cache or the value created by the factory Task GetOrSetAsync(string key, Func> valueFactory, Expire expiry, CancellationToken cancellationToken = default); + /// + /// Get a value from the cache or set it if it doesn't exist asynchronously + /// + /// The key of the cached entry + /// The async factory with cancellation token to create the value if it doesn't exist + /// The expiry time of the cached entry + /// The cancellation token + /// The type of the value to get/cache + /// The value from the cache or the value created by the factory + Task GetOrSetAsync(string key, Func> valueFactory, Expire expiry, CancellationToken cancellationToken = default); + /// /// Get values from the cache matching a pattern /// diff --git a/src/PersistedCache/Sql/SqlPersistedCache.cs b/src/PersistedCache/Sql/SqlPersistedCache.cs index f63dd78..f605bf7 100644 --- a/src/PersistedCache/Sql/SqlPersistedCache.cs +++ b/src/PersistedCache/Sql/SqlPersistedCache.cs @@ -261,6 +261,53 @@ await connection.ExecuteAsync( return result!; } + /// + public async Task GetOrSetAsync(string key, Func> valueFactory, Expire expiry, + CancellationToken cancellationToken = default) + { + Validators.ValidateKey(key); + var result = await _connectionFactory.RunInTransactionAsync(async (connection, transaction) => + { + var value = await connection.QueryFirstOrDefaultAsync( + new CommandDefinition( + commandText: _driver.GetScript, + parameters: new { Key = key, Expiry = DateTimeOffset.UtcNow }, + transaction: transaction, + cancellationToken: cancellationToken + ) + ); + + if (!string.IsNullOrWhiteSpace(value)) + { + return JsonSerializer.Deserialize(value!, _options.JsonOptions); + } + + var result = await valueFactory(cancellationToken); + + Validators.ValidateValue(result); + + var entry = new PersistedCacheEntry + { + Key = key, + Value = JsonSerializer.Serialize(result, _options.JsonOptions), + Expiry = expiry + }; + + await connection.ExecuteAsync( + new CommandDefinition( + commandText: _driver.SetScript, + parameters: entry, + transaction: transaction, + cancellationToken: cancellationToken + ) + ); + + return result; + }, cancellationToken); + + return result!; + } + /// public IEnumerable Query(string pattern) { diff --git a/tests/PersistedCache.Tests/GetOrSetTests.cs b/tests/PersistedCache.Tests/GetOrSetTests.cs index 790425b..f29de00 100644 --- a/tests/PersistedCache.Tests/GetOrSetTests.cs +++ b/tests/PersistedCache.Tests/GetOrSetTests.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using System.Threading.Tasks; using AutoFixture; using FluentAssertions; @@ -98,6 +99,24 @@ public async Task GetOrSetAsync_WithAsyncValueFactory_ReturnsValue() // Assert result.Should().BeEquivalentTo(value); } + + [Fact] + public async Task GetOrSetAsync_WithAsyncValueFactoryAndCancellationToken_ReturnsValue() + { + // Arrange + string key = Guid.NewGuid().ToString(); + var value = _fixture.Create(); + + // Act + var result = await _cache.GetOrSetAsync(key, async ct => + { + await Task.Delay(100, ct); + return value; + }, Expire.InMinutes(5), CancellationToken.None); + + // Assert + result.Should().BeEquivalentTo(value); + } private void Arrange(string key, T value, Expire? expire = null) { From ec289cef83628f4fbd99e770673a1f09d9fc1640 Mon Sep 17 00:00:00 2001 From: mnbuhl Date: Sat, 4 Jan 2025 13:08:40 +0100 Subject: [PATCH 3/5] Upgrade test packages --- .../PersistedCache.Tests.csproj | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tests/PersistedCache.Tests/PersistedCache.Tests.csproj b/tests/PersistedCache.Tests/PersistedCache.Tests.csproj index f1604f1..b13c68b 100644 --- a/tests/PersistedCache.Tests/PersistedCache.Tests.csproj +++ b/tests/PersistedCache.Tests/PersistedCache.Tests.csproj @@ -10,15 +10,21 @@ - - - - - - - - - + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + From b0e588832c49b39fb506ee7e45bdd2690de996eb Mon Sep 17 00:00:00 2001 From: mnbuhl Date: Sat, 4 Jan 2025 13:15:02 +0100 Subject: [PATCH 4/5] Re-enable SQL Server tests --- tests/PersistedCache.Tests/FlushTests.cs | 14 ++++++------ tests/PersistedCache.Tests/ForgetTests.cs | 14 ++++++------ tests/PersistedCache.Tests/GetOrSetTests.cs | 14 ++++++------ tests/PersistedCache.Tests/GetTests.cs | 14 ++++++------ tests/PersistedCache.Tests/HasTests.cs | 14 ++++++------ tests/PersistedCache.Tests/PullTests.cs | 24 ++++++++++----------- tests/PersistedCache.Tests/PurgeTests.cs | 14 ++++++------ tests/PersistedCache.Tests/QueryTests.cs | 14 ++++++------ tests/PersistedCache.Tests/SetTests.cs | 14 ++++++------ 9 files changed, 68 insertions(+), 68 deletions(-) diff --git a/tests/PersistedCache.Tests/FlushTests.cs b/tests/PersistedCache.Tests/FlushTests.cs index 5bddf5c..68fd5ee 100644 --- a/tests/PersistedCache.Tests/FlushTests.cs +++ b/tests/PersistedCache.Tests/FlushTests.cs @@ -136,13 +136,13 @@ public PostgreSqlFlushTestsExecutor(PostgreSqlFixture fixture) : base(fixture.Pe } } -// [Collection(nameof(SqlServerFixture))] - // public class SqlServerFlushTestsExecutor : FlushTests - // { - // public SqlServerFlushTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntries) - // { - // } - // } +[Collection(nameof(SqlServerFixture))] +public class SqlServerFlushTestsExecutor : FlushTests +{ + public SqlServerFlushTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntries) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemFlushTestsExecutor : FlushTests diff --git a/tests/PersistedCache.Tests/ForgetTests.cs b/tests/PersistedCache.Tests/ForgetTests.cs index d3ba2a0..44186ae 100644 --- a/tests/PersistedCache.Tests/ForgetTests.cs +++ b/tests/PersistedCache.Tests/ForgetTests.cs @@ -86,13 +86,13 @@ public PostgreSqlForgetTestsExecutor(PostgreSqlFixture fixture) : base(fixture.P } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerForgetTestsExecutor : ForgetTests -// { -// public SqlServerForgetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerForgetTestsExecutor : ForgetTests +{ + public SqlServerForgetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemForgetTestsExecutor : ForgetTests diff --git a/tests/PersistedCache.Tests/GetOrSetTests.cs b/tests/PersistedCache.Tests/GetOrSetTests.cs index f29de00..916dda9 100644 --- a/tests/PersistedCache.Tests/GetOrSetTests.cs +++ b/tests/PersistedCache.Tests/GetOrSetTests.cs @@ -140,13 +140,13 @@ public PostgreSqlGetOrSetTestsExecutor(PostgreSqlFixture fixture) : base(fixture } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerGetOrSetTestsExecutor : GetOrSetTests -// { -// public SqlServerGetOrSetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerGetOrSetTestsExecutor : GetOrSetTests +{ + public SqlServerGetOrSetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemGetOrSetTestsExecutor : GetOrSetTests diff --git a/tests/PersistedCache.Tests/GetTests.cs b/tests/PersistedCache.Tests/GetTests.cs index 656c167..8d8793f 100644 --- a/tests/PersistedCache.Tests/GetTests.cs +++ b/tests/PersistedCache.Tests/GetTests.cs @@ -132,13 +132,13 @@ public PostgreSqlGetTestsExecutor(PostgreSqlFixture fixture) : base(fixture.Pers } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerGetTestsExecutor : GetTests -// { -// public SqlServerGetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerGetTestsExecutor : GetTests +{ + public SqlServerGetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemGetTestsExecutor : GetTests diff --git a/tests/PersistedCache.Tests/HasTests.cs b/tests/PersistedCache.Tests/HasTests.cs index 6dd888c..39cd0ba 100644 --- a/tests/PersistedCache.Tests/HasTests.cs +++ b/tests/PersistedCache.Tests/HasTests.cs @@ -89,13 +89,13 @@ public PostgreSqlHasTestsExecutor(PostgreSqlFixture fixture) : base(fixture.Pers } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerHasTestsExecutor : HasTests -// { -// public SqlServerHasTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerHasTestsExecutor : HasTests +{ + public SqlServerHasTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemHasTestsExecutor : HasTests diff --git a/tests/PersistedCache.Tests/PullTests.cs b/tests/PersistedCache.Tests/PullTests.cs index 0f899b5..cfdbb9b 100644 --- a/tests/PersistedCache.Tests/PullTests.cs +++ b/tests/PersistedCache.Tests/PullTests.cs @@ -96,7 +96,7 @@ private void Arrange(string key, T value, Expire? expire = null) [Collection(nameof(MySqlFixture))] public class MySqlPullTestsExecutor : PullTests { - public MySqlPullTestsExecutor(MySqlFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry) + public MySqlPullTestsExecutor(MySqlFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry!) { } } @@ -104,23 +104,23 @@ public MySqlPullTestsExecutor(MySqlFixture fixture) : base(fixture.PersistedCach [Collection(nameof(PostgreSqlFixture))] public class PostgreSqlPullTestsExecutor : PullTests { - public PostgreSqlPullTestsExecutor(PostgreSqlFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry) + public PostgreSqlPullTestsExecutor(PostgreSqlFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry!) { } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerPullTestsExecutor : PullTests -// { -// public SqlServerPullTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerPullTestsExecutor : PullTests +{ + public SqlServerPullTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry!) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemPullTestsExecutor : PullTests { - public FileSystemPullTestsExecutor(FileSystemFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry) + public FileSystemPullTestsExecutor(FileSystemFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry!) { } } @@ -128,7 +128,7 @@ public FileSystemPullTestsExecutor(FileSystemFixture fixture) : base(fixture.Per [Collection(nameof(SqliteFixture))] public class SqlitePullTestsExecutor : PullTests { - public SqlitePullTestsExecutor(SqliteFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry) + public SqlitePullTestsExecutor(SqliteFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry!) { } } @@ -136,7 +136,7 @@ public SqlitePullTestsExecutor(SqliteFixture fixture) : base(fixture.PersistedCa [Collection(nameof(MongoDbFixture))] public class MongoDbPullTestsExecutor : PullTests { - public MongoDbPullTestsExecutor(MongoDbFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry) + public MongoDbPullTestsExecutor(MongoDbFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntry!) { } } \ No newline at end of file diff --git a/tests/PersistedCache.Tests/PurgeTests.cs b/tests/PersistedCache.Tests/PurgeTests.cs index 7564936..47382c8 100644 --- a/tests/PersistedCache.Tests/PurgeTests.cs +++ b/tests/PersistedCache.Tests/PurgeTests.cs @@ -93,13 +93,13 @@ public PostgreSqlPurgeTestsExecutor(PostgreSqlFixture fixture) : base(fixture.Pe } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerPurgeTestsExecutor : PurgeTests -// { -// public SqlServerPurgeTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntries) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerPurgeTestsExecutor : PurgeTests +{ + public SqlServerPurgeTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache, fixture.GetCacheEntries) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemPurgeTestsExecutor : PurgeTests diff --git a/tests/PersistedCache.Tests/QueryTests.cs b/tests/PersistedCache.Tests/QueryTests.cs index 50982b8..68ee86a 100644 --- a/tests/PersistedCache.Tests/QueryTests.cs +++ b/tests/PersistedCache.Tests/QueryTests.cs @@ -112,13 +112,13 @@ public PostgreSqlQueryTestsExecutor(PostgreSqlFixture fixture) : base(fixture.Pe } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerQueryTestsExecutor : QueryTests -// { -// public SqlServerQueryTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerQueryTestsExecutor : QueryTests +{ + public SqlServerQueryTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemQueryTestsExecutor : QueryTests diff --git a/tests/PersistedCache.Tests/SetTests.cs b/tests/PersistedCache.Tests/SetTests.cs index 2c06565..00a8082 100644 --- a/tests/PersistedCache.Tests/SetTests.cs +++ b/tests/PersistedCache.Tests/SetTests.cs @@ -186,13 +186,13 @@ public PostgreSqlSetTestsExecutor(PostgreSqlFixture fixture) : base(fixture.Pers } } -// [Collection(nameof(SqlServerFixture))] -// public class SqlServerSetTestsExecutor : SetTests -// { -// public SqlServerSetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) -// { -// } -// } +[Collection(nameof(SqlServerFixture))] +public class SqlServerSetTestsExecutor : SetTests +{ + public SqlServerSetTestsExecutor(SqlServerFixture fixture) : base(fixture.PersistedCache) + { + } +} [Collection(nameof(FileSystemFixture))] public class FileSystemSetTestsExecutor : SetTests From a50d4ca1610d951cb3fc67870739c9c2886ba6de Mon Sep 17 00:00:00 2001 From: mnbuhl Date: Sat, 4 Jan 2025 13:18:44 +0100 Subject: [PATCH 5/5] Fix package vulnerabilities --- .../packages.lock.json | 12 +++--- src/PersistedCache.MongoDb/packages.lock.json | 12 +++--- .../PersistedCache.MySql.csproj | 2 +- src/PersistedCache.MySql/packages.lock.json | 14 +++---- .../packages.lock.json | 12 +++--- .../PersistedCache.SqlServer.csproj | 2 +- .../packages.lock.json | 40 +++++++++---------- src/PersistedCache.Sqlite/packages.lock.json | 12 +++--- src/PersistedCache/PersistedCache.csproj | 2 +- src/PersistedCache/packages.lock.json | 12 +++--- 10 files changed, 60 insertions(+), 60 deletions(-) diff --git a/src/PersistedCache.FileSystem/packages.lock.json b/src/PersistedCache.FileSystem/packages.lock.json index a8035f6..15a0544 100644 --- a/src/PersistedCache.FileSystem/packages.lock.json +++ b/src/PersistedCache.FileSystem/packages.lock.json @@ -119,8 +119,8 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "resolved": "6.0.1", + "contentHash": "E5M5AE2OUTlCrf4omZvzzziUJO9CofBl+lXHaN5IKePPJvHqYFYYpaDPgCpR4VwaFbEebfnjOxxEBtPtsqAxpQ==", "dependencies": { "System.Buffers": "4.5.1", "System.Memory": "4.5.4", @@ -129,15 +129,15 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "6.0.9", - "contentHash": "2j16oUgtIzl7Xtk7demG0i/v5aU/ZvULcAnJvPb63U3ZhXJ494UYcxuEj5Fs49i3XDrk5kU/8I+6l9zRCw3cJw==", + "resolved": "6.0.11", + "contentHash": "xqC1HIbJMBFhrpYs76oYP+NAskNVjc6v73HqLal7ECRDPIp4oRU5pPavkD//vNactCn9DA2aaald/I5N+uZ5/g==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "6.0.0", "System.Buffers": "4.5.1", "System.Memory": "4.5.4", "System.Numerics.Vectors": "4.5.0", "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", + "System.Text.Encodings.Web": "6.0.1", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -154,7 +154,7 @@ "dependencies": { "Dapper": "[2.1.35, )", "Microsoft.Extensions.Hosting.Abstractions": "[6.0.0, )", - "System.Text.Json": "[6.0.9, )" + "System.Text.Json": "[6.0.11, )" } } } diff --git a/src/PersistedCache.MongoDb/packages.lock.json b/src/PersistedCache.MongoDb/packages.lock.json index ac07755..f020cbf 100644 --- a/src/PersistedCache.MongoDb/packages.lock.json +++ b/src/PersistedCache.MongoDb/packages.lock.json @@ -242,8 +242,8 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "resolved": "6.0.1", + "contentHash": "E5M5AE2OUTlCrf4omZvzzziUJO9CofBl+lXHaN5IKePPJvHqYFYYpaDPgCpR4VwaFbEebfnjOxxEBtPtsqAxpQ==", "dependencies": { "System.Buffers": "4.5.1", "System.Memory": "4.5.4", @@ -252,15 +252,15 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "6.0.9", - "contentHash": "2j16oUgtIzl7Xtk7demG0i/v5aU/ZvULcAnJvPb63U3ZhXJ494UYcxuEj5Fs49i3XDrk5kU/8I+6l9zRCw3cJw==", + "resolved": "6.0.11", + "contentHash": "xqC1HIbJMBFhrpYs76oYP+NAskNVjc6v73HqLal7ECRDPIp4oRU5pPavkD//vNactCn9DA2aaald/I5N+uZ5/g==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "6.0.0", "System.Buffers": "4.5.1", "System.Memory": "4.5.4", "System.Numerics.Vectors": "4.5.0", "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", + "System.Text.Encodings.Web": "6.0.1", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -286,7 +286,7 @@ "dependencies": { "Dapper": "[2.1.35, )", "Microsoft.Extensions.Hosting.Abstractions": "[6.0.0, )", - "System.Text.Json": "[6.0.9, )" + "System.Text.Json": "[6.0.11, )" } } } diff --git a/src/PersistedCache.MySql/PersistedCache.MySql.csproj b/src/PersistedCache.MySql/PersistedCache.MySql.csproj index df84fa8..841ba54 100644 --- a/src/PersistedCache.MySql/PersistedCache.MySql.csproj +++ b/src/PersistedCache.MySql/PersistedCache.MySql.csproj @@ -31,7 +31,7 @@ - + diff --git a/src/PersistedCache.MySql/packages.lock.json b/src/PersistedCache.MySql/packages.lock.json index 68fb316..0f429cd 100644 --- a/src/PersistedCache.MySql/packages.lock.json +++ b/src/PersistedCache.MySql/packages.lock.json @@ -4,9 +4,9 @@ ".NETStandard,Version=v2.0": { "MySql.Data": { "type": "Direct", - "requested": "[9.0.0, )", - "resolved": "9.0.0", - "contentHash": "YT2/fdDy3FBx5ZK0qsupEs9Gt0iFo/mZR+ND5cJwrr+6xguAOXyYpYUbEj27UcLZER5InOUrJQYyUaPIDil2Xw==", + "requested": "[9.1.0, )", + "resolved": "9.1.0", + "contentHash": "E4t/IQzcXg4nYGqrGkoGwwSWA1V2L+LKzVddPABAPcj2i6RESP2fcZQ4XFC0Wv+Cq4DlgR3DYhX/fGaZ3VxCPQ==", "dependencies": { "BouncyCastle.Cryptography": "2.3.1", "Google.Protobuf": "3.26.1", @@ -18,7 +18,7 @@ "System.Runtime.Loader": "4.3.0", "System.Security.Permissions": "8.0.0", "System.Text.Encoding.CodePages": "8.0.0", - "System.Text.Json": "8.0.3", + "System.Text.Json": "8.0.4", "System.Threading.Tasks.Extensions": "4.5.4", "ZstdSharp.Port": "0.8.0" } @@ -325,8 +325,8 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "8.0.3", - "contentHash": "hpagS9joOwv6efWfrMmV9MjQXpiXZH72PgN067Ysfr6AWMSD1/1hEcvh/U5mUpPLezEWsOJSuVrmqDIVD958iA==", + "resolved": "8.0.4", + "contentHash": "bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "8.0.0", "System.Buffers": "4.5.1", @@ -368,7 +368,7 @@ "dependencies": { "Dapper": "[2.1.35, )", "Microsoft.Extensions.Hosting.Abstractions": "[6.0.0, )", - "System.Text.Json": "[6.0.9, )" + "System.Text.Json": "[6.0.11, )" } } } diff --git a/src/PersistedCache.PostgreSql/packages.lock.json b/src/PersistedCache.PostgreSql/packages.lock.json index de408d5..6388662 100644 --- a/src/PersistedCache.PostgreSql/packages.lock.json +++ b/src/PersistedCache.PostgreSql/packages.lock.json @@ -156,8 +156,8 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "resolved": "6.0.1", + "contentHash": "E5M5AE2OUTlCrf4omZvzzziUJO9CofBl+lXHaN5IKePPJvHqYFYYpaDPgCpR4VwaFbEebfnjOxxEBtPtsqAxpQ==", "dependencies": { "System.Buffers": "4.5.1", "System.Memory": "4.5.4", @@ -166,15 +166,15 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "6.0.9", - "contentHash": "2j16oUgtIzl7Xtk7demG0i/v5aU/ZvULcAnJvPb63U3ZhXJ494UYcxuEj5Fs49i3XDrk5kU/8I+6l9zRCw3cJw==", + "resolved": "6.0.11", + "contentHash": "xqC1HIbJMBFhrpYs76oYP+NAskNVjc6v73HqLal7ECRDPIp4oRU5pPavkD//vNactCn9DA2aaald/I5N+uZ5/g==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "6.0.0", "System.Buffers": "4.5.1", "System.Memory": "4.5.4", "System.Numerics.Vectors": "4.5.0", "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", + "System.Text.Encodings.Web": "6.0.1", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -199,7 +199,7 @@ "dependencies": { "Dapper": "[2.1.35, )", "Microsoft.Extensions.Hosting.Abstractions": "[6.0.0, )", - "System.Text.Json": "[6.0.9, )" + "System.Text.Json": "[6.0.11, )" } } } diff --git a/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj b/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj index 3a6d2b9..70c2523 100644 --- a/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj +++ b/src/PersistedCache.SqlServer/PersistedCache.SqlServer.csproj @@ -31,7 +31,7 @@ - + diff --git a/src/PersistedCache.SqlServer/packages.lock.json b/src/PersistedCache.SqlServer/packages.lock.json index 3a06bf2..9336047 100644 --- a/src/PersistedCache.SqlServer/packages.lock.json +++ b/src/PersistedCache.SqlServer/packages.lock.json @@ -4,13 +4,13 @@ ".NETStandard,Version=v2.0": { "Microsoft.Data.SqlClient": { "type": "Direct", - "requested": "[5.2.1, )", - "resolved": "5.2.1", - "contentHash": "ojg2XWmih4ubPPtrhRqqXk0SM6wC2ZSTkNNEAlYBhMo4IsRHjLazFc0abzcZCNfw1JyWcqY7vGutWTv8ZaFD9g==", + "requested": "[5.2.2, )", + "resolved": "5.2.2", + "contentHash": "mtoeRMh7F/OA536c/Cnh8L4H0uLSKB5kSmoi54oN7Fp0hNJDy22IqyMhaMH4PkDCqI7xL//Fvg9ldtuPHG0h5g==", "dependencies": { - "Azure.Identity": "1.11.3", + "Azure.Identity": "1.11.4", "Microsoft.Data.SqlClient.SNI.runtime": "5.2.0", - "Microsoft.Identity.Client": "4.60.3", + "Microsoft.Identity.Client": "4.61.3", "Microsoft.IdentityModel.JsonWebTokens": "6.35.0", "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.35.0", "Microsoft.SqlServer.Server": "1.0.0", @@ -52,12 +52,12 @@ }, "Azure.Identity": { "type": "Transitive", - "resolved": "1.11.3", - "contentHash": "4EsGMAr+oog5UqHs46qwA7S/lJiwpXjPBY3t9tQBmJ8nsgmT/LLnrc32eiTlfOdfKxUz4fxBD2YjSnVZacu97w==", + "resolved": "1.11.4", + "contentHash": "Sf4BoE6Q3jTgFkgBkx7qztYOFELBCo+wQgpYDwal/qJ1unBH73ywPztIJKXBXORRzAeNijsuxhk94h0TIMvfYg==", "dependencies": { "Azure.Core": "1.38.0", - "Microsoft.Identity.Client": "4.60.3", - "Microsoft.Identity.Client.Extensions.Msal": "4.60.3", + "Microsoft.Identity.Client": "4.61.3", + "Microsoft.Identity.Client.Extensions.Msal": "4.61.3", "System.Memory": "4.5.4", "System.Security.Cryptography.ProtectedData": "4.7.0", "System.Text.Json": "4.7.2", @@ -139,8 +139,8 @@ }, "Microsoft.Identity.Client": { "type": "Transitive", - "resolved": "4.60.3", - "contentHash": "jve1RzmSpBhGlqMzPva6VfRbLMLZZc1Q8WRVZf8+iEruQkBgDTJPq8OeTehcY4GGYG1j6UB1xVofVE+n4BLDdw==", + "resolved": "4.61.3", + "contentHash": "naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==", "dependencies": { "Microsoft.IdentityModel.Abstractions": "6.35.0", "System.Diagnostics.DiagnosticSource": "6.0.1" @@ -148,10 +148,10 @@ }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.60.3", - "contentHash": "X1Cz14/RbmlLshusE5u2zfG+5ul6ttgou19BZe5Mdw1qm6fgOI9/imBB2TIsx2UD7nkgd2+MCSzhbukZf7udeg==", + "resolved": "4.61.3", + "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==", "dependencies": { - "Microsoft.Identity.Client": "4.60.3", + "Microsoft.Identity.Client": "4.61.3", "System.IO.FileSystem.AccessControl": "5.0.0", "System.Security.Cryptography.ProtectedData": "4.5.0" } @@ -450,8 +450,8 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "resolved": "6.0.1", + "contentHash": "E5M5AE2OUTlCrf4omZvzzziUJO9CofBl+lXHaN5IKePPJvHqYFYYpaDPgCpR4VwaFbEebfnjOxxEBtPtsqAxpQ==", "dependencies": { "System.Buffers": "4.5.1", "System.Memory": "4.5.4", @@ -460,15 +460,15 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "6.0.9", - "contentHash": "2j16oUgtIzl7Xtk7demG0i/v5aU/ZvULcAnJvPb63U3ZhXJ494UYcxuEj5Fs49i3XDrk5kU/8I+6l9zRCw3cJw==", + "resolved": "6.0.11", + "contentHash": "xqC1HIbJMBFhrpYs76oYP+NAskNVjc6v73HqLal7ECRDPIp4oRU5pPavkD//vNactCn9DA2aaald/I5N+uZ5/g==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "6.0.0", "System.Buffers": "4.5.1", "System.Memory": "4.5.4", "System.Numerics.Vectors": "4.5.0", "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", + "System.Text.Encodings.Web": "6.0.1", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -495,7 +495,7 @@ "dependencies": { "Dapper": "[2.1.35, )", "Microsoft.Extensions.Hosting.Abstractions": "[6.0.0, )", - "System.Text.Json": "[6.0.9, )" + "System.Text.Json": "[6.0.11, )" } } } diff --git a/src/PersistedCache.Sqlite/packages.lock.json b/src/PersistedCache.Sqlite/packages.lock.json index ef08fc9..f8013cb 100644 --- a/src/PersistedCache.Sqlite/packages.lock.json +++ b/src/PersistedCache.Sqlite/packages.lock.json @@ -167,8 +167,8 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "resolved": "6.0.1", + "contentHash": "E5M5AE2OUTlCrf4omZvzzziUJO9CofBl+lXHaN5IKePPJvHqYFYYpaDPgCpR4VwaFbEebfnjOxxEBtPtsqAxpQ==", "dependencies": { "System.Buffers": "4.5.1", "System.Memory": "4.5.4", @@ -177,15 +177,15 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "6.0.9", - "contentHash": "2j16oUgtIzl7Xtk7demG0i/v5aU/ZvULcAnJvPb63U3ZhXJ494UYcxuEj5Fs49i3XDrk5kU/8I+6l9zRCw3cJw==", + "resolved": "6.0.11", + "contentHash": "xqC1HIbJMBFhrpYs76oYP+NAskNVjc6v73HqLal7ECRDPIp4oRU5pPavkD//vNactCn9DA2aaald/I5N+uZ5/g==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "6.0.0", "System.Buffers": "4.5.1", "System.Memory": "4.5.4", "System.Numerics.Vectors": "4.5.0", "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", + "System.Text.Encodings.Web": "6.0.1", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -202,7 +202,7 @@ "dependencies": { "Dapper": "[2.1.35, )", "Microsoft.Extensions.Hosting.Abstractions": "[6.0.0, )", - "System.Text.Json": "[6.0.9, )" + "System.Text.Json": "[6.0.11, )" } } } diff --git a/src/PersistedCache/PersistedCache.csproj b/src/PersistedCache/PersistedCache.csproj index f7d957d..5a667b4 100644 --- a/src/PersistedCache/PersistedCache.csproj +++ b/src/PersistedCache/PersistedCache.csproj @@ -41,6 +41,6 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/PersistedCache/packages.lock.json b/src/PersistedCache/packages.lock.json index 2dc32f6..71cc353 100644 --- a/src/PersistedCache/packages.lock.json +++ b/src/PersistedCache/packages.lock.json @@ -42,16 +42,16 @@ }, "System.Text.Json": { "type": "Direct", - "requested": "[6.0.9, )", - "resolved": "6.0.9", - "contentHash": "2j16oUgtIzl7Xtk7demG0i/v5aU/ZvULcAnJvPb63U3ZhXJ494UYcxuEj5Fs49i3XDrk5kU/8I+6l9zRCw3cJw==", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "xqC1HIbJMBFhrpYs76oYP+NAskNVjc6v73HqLal7ECRDPIp4oRU5pPavkD//vNactCn9DA2aaald/I5N+uZ5/g==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "6.0.0", "System.Buffers": "4.5.1", "System.Memory": "4.5.4", "System.Numerics.Vectors": "4.5.0", "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", + "System.Text.Encodings.Web": "6.0.1", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -142,8 +142,8 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "resolved": "6.0.1", + "contentHash": "E5M5AE2OUTlCrf4omZvzzziUJO9CofBl+lXHaN5IKePPJvHqYFYYpaDPgCpR4VwaFbEebfnjOxxEBtPtsqAxpQ==", "dependencies": { "System.Buffers": "4.5.1", "System.Memory": "4.5.4",