Browse Source

Fix `PopulateAsync` method of `AbpApplicationManager`.

Resolve #16797
pull/16800/head
maliming 3 years ago
parent
commit
c5def4a936
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 4
      modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationManager.cs
  2. 50
      modules/openiddict/test/Volo.Abp.OpenIddict.Domain.Tests/Volo/Abp/OpenIddict/Applications/AbpApplicationManager_Tests.cs
  3. 32
      modules/openiddict/test/Volo.Abp.OpenIddict.TestBase/Volo/Abp/OpenIddict/OpenIddictDataSeedContributor.cs

4
modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationManager.cs

@ -44,8 +44,8 @@ public class AbpApplicationManager : OpenIddictApplicationManager<OpenIddictAppl
if (descriptor is AbpApplicationDescriptor model) if (descriptor is AbpApplicationDescriptor model)
{ {
application.ClientUri = model.ClientUri; model.ClientUri = application.ClientUri;
application.LogoUri = model.LogoUri; model.LogoUri = application.LogoUri;
} }
} }

50
modules/openiddict/test/Volo.Abp.OpenIddict.Domain.Tests/Volo/Abp/OpenIddict/Applications/AbpApplicationManager_Tests.cs

@ -0,0 +1,50 @@
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Shouldly;
using Xunit;
namespace Volo.Abp.OpenIddict.Applications;
public class AbpApplicationManager_Tests : OpenIddictDomainTestBase
{
private readonly IAbpApplicationManager _applicationManager;
private readonly AbpOpenIddictTestData _testData;
public AbpApplicationManager_Tests()
{
_applicationManager = ServiceProvider.GetRequiredService<IAbpApplicationManager>();
_testData = ServiceProvider.GetRequiredService<AbpOpenIddictTestData>();
}
[Fact]
public async Task Populate_Descriptor_With_Application_Test()
{
var app1 = (await _applicationManager.FindByClientIdAsync(_testData.App1ClientId)).As<OpenIddictApplicationModel>();
var descriptor = new AbpApplicationDescriptor();
await _applicationManager.PopulateAsync(descriptor, app1);
app1.ClientUri.ShouldNotBeNull();
app1.LogoUri.ShouldNotBeNull();
descriptor.ClientUri.ShouldBe(app1.ClientUri);
descriptor.LogoUri.ShouldBe(app1.LogoUri);
}
[Fact]
public async Task Populate_Application_With_Descriptor_Test()
{
var app1 = (await _applicationManager.FindByClientIdAsync(_testData.App1ClientId)).As<OpenIddictApplicationModel>();
var descriptor = new AbpApplicationDescriptor()
{
ClientUri = "https://new.com",
LogoUri = "https://new.com/logo.png"
};
await _applicationManager.PopulateAsync(app1, descriptor);
app1.ClientUri.ShouldBe(descriptor.ClientUri);
app1.LogoUri.ShouldBe(descriptor.LogoUri);
}
}

32
modules/openiddict/test/Volo.Abp.OpenIddict.TestBase/Volo/Abp/OpenIddict/OpenIddictDataSeedContributor.cs

@ -25,9 +25,9 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
private readonly IClock _clock; private readonly IClock _clock;
public OpenIddictDataSeedContributor( public OpenIddictDataSeedContributor(
IOpenIddictApplicationManager applicationManager, IOpenIddictApplicationManager applicationManager,
IOpenIddictScopeManager scopeManager, IOpenIddictScopeManager scopeManager,
IOpenIddictTokenManager tokenManager, IOpenIddictTokenManager tokenManager,
IOpenIddictAuthorizationManager authorizationManager, IOpenIddictAuthorizationManager authorizationManager,
IClock clock, IClock clock,
AbpOpenIddictTestData testData) AbpOpenIddictTestData testData)
@ -65,7 +65,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
"TestScope1Resource" "TestScope1Resource"
} }
})); }));
await _scopeManager.CreateAsync(await GetOpenIddictScopeModelAsync(_testData.Scope2Id, new OpenIddictScopeDescriptor() await _scopeManager.CreateAsync(await GetOpenIddictScopeModelAsync(_testData.Scope2Id, new OpenIddictScopeDescriptor()
{ {
Name = _testData.Scope2Name, Name = _testData.Scope2Name,
@ -89,10 +89,10 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
await _scopeManager.PopulateAsync(scope, scopeDescriptor); await _scopeManager.PopulateAsync(scope, scopeDescriptor);
return scope; return scope;
} }
private async Task CreateApplicationsAsync() private async Task CreateApplicationsAsync()
{ {
await _applicationManager.CreateAsync(await GetOpenIddictApplicationModelAsync(_testData.App1Id, new OpenIddictApplicationDescriptor await _applicationManager.CreateAsync(await GetOpenIddictApplicationModelAsync(_testData.App1Id, new AbpApplicationDescriptor
{ {
ClientId = _testData.App1ClientId, ClientId = _testData.App1ClientId,
ConsentType = OpenIddictConstants.ConsentTypes.Explicit, ConsentType = OpenIddictConstants.ConsentTypes.Explicit,
@ -137,10 +137,12 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
OpenIddictConstants.Permissions.Scopes.Phone, OpenIddictConstants.Permissions.Scopes.Phone,
OpenIddictConstants.Permissions.Prefixes.Scope + _testData.Scope1Name OpenIddictConstants.Permissions.Prefixes.Scope + _testData.Scope1Name
} },
})); ClientUri = "https://abp.io/TestApplication",
LogoUri = "https://abp.io/TestApplication.png"
await _applicationManager.CreateAsync(await GetOpenIddictApplicationModelAsync(_testData.App2Id, new OpenIddictApplicationDescriptor }));
await _applicationManager.CreateAsync(await GetOpenIddictApplicationModelAsync(_testData.App2Id, new AbpApplicationDescriptor
{ {
ClientId = _testData.App2ClientId, ClientId = _testData.App2ClientId,
ConsentType = OpenIddictConstants.ConsentTypes.Explicit, ConsentType = OpenIddictConstants.ConsentTypes.Explicit,
@ -186,7 +188,9 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
OpenIddictConstants.Permissions.Prefixes.Scope + _testData.Scope1Name, OpenIddictConstants.Permissions.Prefixes.Scope + _testData.Scope1Name,
OpenIddictConstants.Permissions.Prefixes.Scope + _testData.Scope2Name, OpenIddictConstants.Permissions.Prefixes.Scope + _testData.Scope2Name,
} },
ClientUri = "https://abp.io/TestApplication2",
LogoUri = "https://abp.io/TestApplication2.png"
})); }));
} }
@ -211,7 +215,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
ExpirationDate = _clock.Now.AddDays(-30), ExpirationDate = _clock.Now.AddDays(-30),
CreationDate = _clock.Now.AddDays(-30) CreationDate = _clock.Now.AddDays(-30)
})); }));
await _tokenManager.CreateAsync(await GetOpenIddictTokenModelAsync(_testData.Token2Id, new OpenIddictTokenDescriptor await _tokenManager.CreateAsync(await GetOpenIddictTokenModelAsync(_testData.Token2Id, new OpenIddictTokenDescriptor
{ {
ApplicationId = _testData.App2Id.ToString(), ApplicationId = _testData.App2Id.ToString(),
@ -240,9 +244,9 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
Subject = "TestSubject1", Subject = "TestSubject1",
Type = OpenIddictConstants.AuthorizationTypes.Permanent, Type = OpenIddictConstants.AuthorizationTypes.Permanent,
CreationDate = _clock.Now.AddDays(-30) CreationDate = _clock.Now.AddDays(-30)
})); }));
await _authorizationManager.CreateAsync(await GetOpenIddictAuthorizationModelAsync(_testData.Authorization2Id, new OpenIddictAuthorizationDescriptor await _authorizationManager.CreateAsync(await GetOpenIddictAuthorizationModelAsync(_testData.Authorization2Id, new OpenIddictAuthorizationDescriptor
{ {
ApplicationId = _testData.App2Id.ToString(), ApplicationId = _testData.App2Id.ToString(),
@ -252,7 +256,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
CreationDate = _clock.Now CreationDate = _clock.Now
})); }));
} }
private async Task<OpenIddictAuthorizationModel> GetOpenIddictAuthorizationModelAsync(Guid id, OpenIddictAuthorizationDescriptor authorizationDescriptor) private async Task<OpenIddictAuthorizationModel> GetOpenIddictAuthorizationModelAsync(Guid id, OpenIddictAuthorizationDescriptor authorizationDescriptor)
{ {
var authorization = new OpenIddictAuthorizationModel{Id = id}; var authorization = new OpenIddictAuthorizationModel{Id = id};

Loading…
Cancel
Save