diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AllowedCorsOriginsCacheItemInvalidator.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AllowedCorsOriginsCacheItemInvalidator.cs index 92583dc4df..80bc425d5c 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AllowedCorsOriginsCacheItemInvalidator.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AllowedCorsOriginsCacheItemInvalidator.cs @@ -7,7 +7,10 @@ using Volo.Abp.IdentityServer.Clients; namespace Volo.Abp.IdentityServer { - public class AllowedCorsOriginsCacheItemInvalidator : ILocalEventHandler>, ITransientDependency + public class AllowedCorsOriginsCacheItemInvalidator : + ILocalEventHandler>, + ILocalEventHandler>, + ITransientDependency { protected IDistributedCache Cache { get; } @@ -20,5 +23,10 @@ namespace Volo.Abp.IdentityServer { await Cache.RemoveAsync(AllowedCorsOriginsCacheItem.AllOrigins); } + + public async Task HandleEventAsync(EntityChangedEventData eventData) + { + await Cache.RemoveAsync(AllowedCorsOriginsCacheItem.AllOrigins); + } } } \ No newline at end of file diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj index d5bad1ad08..ab9f99a791 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo.Abp.IdentityServer.Domain.Tests.csproj @@ -12,8 +12,7 @@ - - + diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/AbpIdentityServerDomainTestModule.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/AbpIdentityServerDomainTestModule.cs index fd7736f9cf..e219427d03 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/AbpIdentityServerDomainTestModule.cs +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/AbpIdentityServerDomainTestModule.cs @@ -2,7 +2,7 @@ namespace Volo.Abp.IdentityServer { - [DependsOn(typeof(AbpIdentityServerMongoDbTestModule))] + [DependsOn(typeof(AbpIdentityServerTestEntityFrameworkCoreModule))] public class AbpIdentityServerDomainTestModule : AbpModule { diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/CorsPolicyService_Tests.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/CorsPolicyService_Tests.cs index 0aa1e835ac..af701cfc69 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/CorsPolicyService_Tests.cs +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.Domain.Tests/Volo/Abp/IdentityServer/CorsPolicyService_Tests.cs @@ -2,6 +2,7 @@ using IdentityServer4.Services; using Shouldly; using Volo.Abp.IdentityServer.Clients; +using Volo.Abp.Uow; using Xunit; namespace Volo.Abp.IdentityServer @@ -10,11 +11,13 @@ namespace Volo.Abp.IdentityServer { private readonly ICorsPolicyService _corsPolicyService; private readonly IClientRepository _clientRepository; + private readonly IUnitOfWorkManager _unitOfWorkManager; public CorsPolicyService_Tests() { _corsPolicyService = GetRequiredService(); _clientRepository = GetRequiredService(); + _unitOfWorkManager = GetRequiredService(); } [Fact] @@ -30,9 +33,14 @@ namespace Volo.Abp.IdentityServer //It does not exists before (await _corsPolicyService.IsOriginAllowedAsync("https://new-origin.com")).ShouldBeFalse(); - var client1 = await _clientRepository.FindByCliendIdAsync("ClientId1"); - client1.AddCorsOrigin("https://new-origin.com"); - await _clientRepository.UpdateAsync(client1); + using (var uow = _unitOfWorkManager.Begin()) + { + var client1 = await _clientRepository.FindByCliendIdAsync("ClientId1"); + client1.AddCorsOrigin("https://new-origin.com"); + await _clientRepository.UpdateAsync(client1); + + await uow.CompleteAsync(); + } //It does exists now (await _corsPolicyService.IsOriginAllowedAsync("https://new-origin.com")).ShouldBeTrue(); diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs index 1bbeb65e07..2eef9ffc57 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs @@ -12,6 +12,8 @@ using PersistedGrant = Volo.Abp.IdentityServer.Grants.PersistedGrant; namespace Volo.Abp.IdentityServer { + //TODO: There are two data builders (ses AbpIdentityServerTestDataBuilder in Volo.Abp.IdentityServer.TestBase). It should be somehow unified! + public class AbpIdentityServerTestDataBuilder : ITransientDependency { private readonly IGuidGenerator _guidGenerator; diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs index 77e20531db..b5515026de 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs @@ -1,7 +1,6 @@ using System; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Autofac; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.Identity.EntityFrameworkCore; using Volo.Abp.IdentityServer.EntityFrameworkCore; @@ -11,7 +10,6 @@ using Volo.Abp.Uow; namespace Volo.Abp.IdentityServer { [DependsOn( - typeof(AbpAutofacModule), typeof(AbpIdentityEntityFrameworkCoreModule), typeof(AbpIdentityServerEntityFrameworkCoreModule), typeof(AbpIdentityServerTestBaseModule)