Browse Source

Add ProductCacheItem2 and update entity cache tests

pull/24772/head
maliming 1 week ago
parent
commit
dbcd7dbcb9
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 1
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/TestAppModule.cs
  2. 35
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/EntityCache_Tests.cs

1
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/TestAppModule.cs

@ -38,6 +38,7 @@ public class TestAppModule : AbpModule
{ {
AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(9) AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(9)
}); });
context.Services.AddEntityCache<Product, ProductCacheItem2, Guid>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

35
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/EntityCache_Tests.cs

@ -2,8 +2,6 @@
using System.Reflection; using System.Reflection;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Shouldly; using Shouldly;
using Volo.Abp.Caching; using Volo.Abp.Caching;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
@ -122,30 +120,28 @@ public abstract class EntityCache_Tests<TStartupModule> : TestAppTestBase<TStart
} }
[Fact] [Fact]
public void EntityCache_DefaultOptions_Should_Be_Applied() public void EntityCache_Default_Options_Should_Be_2_Minutes()
{ {
var productCache = GetRequiredService<IDistributedCache<EntityCacheItemWrapper<Product>, Guid>>(); var productCache = GetRequiredService<IDistributedCache<EntityCacheItemWrapper<ProductCacheItem2>, Guid>>();
var productCacheItemCache = GetRequiredService<IDistributedCache<EntityCacheItemWrapper<ProductCacheItem>, Guid>>();
var productOptions = GetDefaultCachingOptions(productCache); var productOptions = GetDefaultCachingOptions(productCache);
productOptions.AbsoluteExpirationRelativeToNow.ShouldBe(TimeSpan.FromMinutes(7)); productOptions.AbsoluteExpirationRelativeToNow.ShouldBe(TimeSpan.FromMinutes(2));
productOptions.SlidingExpiration.ShouldBeNull(); productOptions.SlidingExpiration.ShouldBeNull();
var productCacheItemOptions = GetDefaultCachingOptions(productCacheItemCache);
productCacheItemOptions.AbsoluteExpirationRelativeToNow.ShouldBe(TimeSpan.FromMinutes(9));
productCacheItemOptions.SlidingExpiration.ShouldBeNull();
} }
[Fact] [Fact]
public void EntityCache_Configured_Options_Should_Be_Applied() public void EntityCache_Configured_Options_Should_Be_Applied()
{ {
// This test verifies that the cache options configured during AddEntityCache are properly applied
// The options are configured in TestAppModule.ConfigureServices
var productCache = GetRequiredService<IDistributedCache<EntityCacheItemWrapper<Product>, Guid>>(); var productCache = GetRequiredService<IDistributedCache<EntityCacheItemWrapper<Product>, Guid>>();
var productCacheItemCache = GetRequiredService<IDistributedCache<EntityCacheItemWrapper<ProductCacheItem>, Guid>>(); var productCacheItemCache = GetRequiredService<IDistributedCache<EntityCacheItemWrapper<ProductCacheItem>, Guid>>();
GetDefaultCachingOptions(productCache).AbsoluteExpirationRelativeToNow.ShouldBe(TimeSpan.FromMinutes(7)); var productOptions = GetDefaultCachingOptions(productCache);
GetDefaultCachingOptions(productCacheItemCache).AbsoluteExpirationRelativeToNow.ShouldBe(TimeSpan.FromMinutes(9)); productOptions.AbsoluteExpirationRelativeToNow.ShouldBe(TimeSpan.FromMinutes(7));
productOptions.SlidingExpiration.ShouldBeNull();
var productCacheItemOptions = GetDefaultCachingOptions(productCacheItemCache);
productCacheItemOptions.AbsoluteExpirationRelativeToNow.ShouldBe(TimeSpan.FromMinutes(9));
productCacheItemOptions.SlidingExpiration.ShouldBeNull();
} }
private static DistributedCacheEntryOptions GetDefaultCachingOptions(object instance) private static DistributedCacheEntryOptions GetDefaultCachingOptions(object instance)
@ -197,3 +193,14 @@ public class ProductCacheItem
public decimal Price { get; set; } public decimal Price { get; set; }
} }
[Serializable]
[CacheName("ProductCacheItem2")]
public class ProductCacheItem2
{
public Guid Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}

Loading…
Cancel
Save