Fix `PopulateAsync` method of `AbpApplicationManager`.

Resolve #16797
pull/16800/head
maliming 3 years ago
parent 36dd11aef8
commit c5def4a936
No known key found for this signature in database
GPG Key ID: A646B9CB645ECEA4

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

@ -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);
}
}

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

Loading…
Cancel
Save