From d4c86f53e0989fd8f77e7d6e118150a0bdda2fc0 Mon Sep 17 00:00:00 2001 From: wuweilai <824255785@qq.com> Date: Thu, 28 Jul 2022 11:53:04 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat(auth):auth=20sdk=20add=20GetListByAcco?= =?UTF-8?q?untAsync=E3=80=81GetSecurityTokenAsync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AuthClient.cs | 3 +++ .../Service/OssService.cs | 20 ++++++++++++++++++ .../Service/UserService.cs | 6 ++++++ src/BuildingBlocks/MASA.BuildingBlocks | 2 +- .../SsoServiceTest.cs | 21 +++++++++++++++++++ .../UserServiceTest.cs | 18 ++++++++++++++++ 6 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs create mode 100644 test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs index 79af2f22c..5e7cb98cf 100644 --- a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs +++ b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs @@ -12,6 +12,7 @@ public AuthClient(ICallerProvider callerProvider, IMultiEnvironmentUserContext u TeamService = new TeamService(callerProvider, userContext); ProjectService = new ProjectService(callerProvider, userContext); PermissionService = new PermissionService(callerProvider, userContext); + OssService = new OssService(callerProvider); } public IUserService UserService { get; } @@ -23,5 +24,7 @@ public AuthClient(ICallerProvider callerProvider, IMultiEnvironmentUserContext u public IPermissionService PermissionService { get; } public IProjectService ProjectService { get; } + + public IOssService OssService { get; } } diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs new file mode 100644 index 000000000..573e67df0 --- /dev/null +++ b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs @@ -0,0 +1,20 @@ +// Copyright (c) MASA Stack All rights reserved. +// Licensed under the MIT License. See LICENSE.txt in the project root for license information. + +namespace Masa.Contrib.BasicAbility.Auth.Service; + +public class OssService : IOssService +{ + readonly ICallerProvider _callerProvider; + + public OssService(ICallerProvider callerProvider) + { + _callerProvider = callerProvider; + } + + public async Task GetSecurityTokenAsync() + { + var requestUri = $"api/oss/GetSecurityToken"; + return await _callerProvider.GetAsync(requestUri) ?? throw new UserFriendlyException("If the fault is unknown, contact the administrator"); + } +} diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/UserService.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/UserService.cs index 8e0a86f53..ef9ce0cd4 100644 --- a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/UserService.cs +++ b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/UserService.cs @@ -155,5 +155,11 @@ public async Task DisableUserAsync(DisableUserModel user) var requestUri = $"api/user/disable"; return await _callerProvider.PutAsync(requestUri, user); } + + public async Task> GetListByAccountAsync(IEnumerable accounts) + { + var requestUri = $"api/user/GetListByAccount"; + return await _callerProvider.GetAsync>(requestUri, new { accounts }) ?? new(); + } } diff --git a/src/BuildingBlocks/MASA.BuildingBlocks b/src/BuildingBlocks/MASA.BuildingBlocks index e690453e2..100bebc28 160000 --- a/src/BuildingBlocks/MASA.BuildingBlocks +++ b/src/BuildingBlocks/MASA.BuildingBlocks @@ -1 +1 @@ -Subproject commit e690453e2e82cdfc7eba9a63d1484ed501158bd5 +Subproject commit 100bebc286f6b32cdd3a91ed3b5024b6d09b00ff diff --git a/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs b/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs new file mode 100644 index 000000000..7c853059c --- /dev/null +++ b/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs @@ -0,0 +1,21 @@ +// Copyright (c) MASA Stack All rights reserved. +// Licensed under the MIT License. See LICENSE.txt in the project root for license information. + +namespace Masa.Contrib.BasicAbility.Auth.Tests; + +[TestClass] +public class SsoServiceTest +{ + [TestMethod] + public async Task GetSecurityTokenAsync() + { + var data = new SecurityTokenModel("region", "accessKeyId", "accessKeySecret", "stsToken", "bucket"); + var requestUri = $"api/oss/GetSecurityToken"; + var callerProvider = new Mock(); + callerProvider.Setup(provider => provider.GetAsync(requestUri, default)).ReturnsAsync(data).Verifiable(); + var ossService = new OssService(callerProvider.Object); + var result = await ossService.GetSecurityTokenAsync(); + callerProvider.Verify(provider => provider.GetAsync(requestUri, default), Times.Once); + Assert.IsTrue(result is not null); + } +} diff --git a/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs b/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs index dc6419c46..81e7134e2 100644 --- a/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs +++ b/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs @@ -401,6 +401,24 @@ public async Task TestObjectSaveUserSystemDataAsync(string systemId) await userService.SaveUserSystemDataAsync(systemId, value); callerProvider.Verify(provider => provider.PostAsync(requestUri, It.IsAny(), true, default), Times.Once); } + + [TestMethod] + public async Task TestGetListByAccountAsync() + { + var data = new List() + { + new UserSimpleModel(Guid.NewGuid(),"account","displayName") + }; + var accounts = new List { "account" }; + var requestUri = $"api/user/GetListByAccount"; + var callerProvider = new Mock(); + callerProvider.Setup(provider => provider.GetAsync>(requestUri, It.IsAny(), default)).ReturnsAsync(data).Verifiable(); + var userContext = new Mock(); + var userService = new UserService(callerProvider.Object, userContext.Object); + var result = await userService.GetListByAccountAsync(accounts); + callerProvider.Verify(provider => provider.GetAsync>(requestUri, It.IsAny(), default), Times.Once); + Assert.IsTrue(result.Count == 1); + } } From bcc829438b29f540f38a998b4fb5d3c0550f4ba8 Mon Sep 17 00:00:00 2001 From: wuweilai <824255785@qq.com> Date: Thu, 28 Jul 2022 13:11:57 +0800 Subject: [PATCH 2/5] feat(GetSecurityTokenAsync):optimize GetSecurityTokenAsync --- .../Masa.Contrib.BasicAbility.Auth/Service/OssService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs index 573e67df0..6cd8c1ef6 100644 --- a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs +++ b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs @@ -15,6 +15,6 @@ public OssService(ICallerProvider callerProvider) public async Task GetSecurityTokenAsync() { var requestUri = $"api/oss/GetSecurityToken"; - return await _callerProvider.GetAsync(requestUri) ?? throw new UserFriendlyException("If the fault is unknown, contact the administrator"); + return await _callerProvider.GetAsync(requestUri) ?? throw new UserFriendlyException("Unknown exception, contact the administrator"); } } From 325d28c1d982015127a20de3ab86d4a710c7e64b Mon Sep 17 00:00:00 2001 From: wuweilai <824255785@qq.com> Date: Thu, 28 Jul 2022 13:52:39 +0800 Subject: [PATCH 3/5] feat(oss):remove oss --- .../AuthClient.cs | 3 --- .../Service/OssService.cs | 20 ------------------ .../SsoServiceTest.cs | 21 ------------------- 3 files changed, 44 deletions(-) delete mode 100644 src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs delete mode 100644 test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs index 5e7cb98cf..79af2f22c 100644 --- a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs +++ b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs @@ -12,7 +12,6 @@ public AuthClient(ICallerProvider callerProvider, IMultiEnvironmentUserContext u TeamService = new TeamService(callerProvider, userContext); ProjectService = new ProjectService(callerProvider, userContext); PermissionService = new PermissionService(callerProvider, userContext); - OssService = new OssService(callerProvider); } public IUserService UserService { get; } @@ -24,7 +23,5 @@ public AuthClient(ICallerProvider callerProvider, IMultiEnvironmentUserContext u public IPermissionService PermissionService { get; } public IProjectService ProjectService { get; } - - public IOssService OssService { get; } } diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs deleted file mode 100644 index 6cd8c1ef6..000000000 --- a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) MASA Stack All rights reserved. -// Licensed under the MIT License. See LICENSE.txt in the project root for license information. - -namespace Masa.Contrib.BasicAbility.Auth.Service; - -public class OssService : IOssService -{ - readonly ICallerProvider _callerProvider; - - public OssService(ICallerProvider callerProvider) - { - _callerProvider = callerProvider; - } - - public async Task GetSecurityTokenAsync() - { - var requestUri = $"api/oss/GetSecurityToken"; - return await _callerProvider.GetAsync(requestUri) ?? throw new UserFriendlyException("Unknown exception, contact the administrator"); - } -} diff --git a/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs b/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs deleted file mode 100644 index 7c853059c..000000000 --- a/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) MASA Stack All rights reserved. -// Licensed under the MIT License. See LICENSE.txt in the project root for license information. - -namespace Masa.Contrib.BasicAbility.Auth.Tests; - -[TestClass] -public class SsoServiceTest -{ - [TestMethod] - public async Task GetSecurityTokenAsync() - { - var data = new SecurityTokenModel("region", "accessKeyId", "accessKeySecret", "stsToken", "bucket"); - var requestUri = $"api/oss/GetSecurityToken"; - var callerProvider = new Mock(); - callerProvider.Setup(provider => provider.GetAsync(requestUri, default)).ReturnsAsync(data).Verifiable(); - var ossService = new OssService(callerProvider.Object); - var result = await ossService.GetSecurityTokenAsync(); - callerProvider.Verify(provider => provider.GetAsync(requestUri, default), Times.Once); - Assert.IsTrue(result is not null); - } -} From bcb47ec306148f5d0bfd4274cb8b2dae3a66c3f3 Mon Sep 17 00:00:00 2001 From: wuweilai <824255785@qq.com> Date: Thu, 28 Jul 2022 15:15:28 +0800 Subject: [PATCH 4/5] feat(sso):add sso GetSecurityTokenAsync --- .../AuthClient.cs | 3 +++ .../Service/OssService.cs | 20 ++++++++++++++++++ src/BuildingBlocks/MASA.BuildingBlocks | 2 +- .../SsoServiceTest.cs | 21 +++++++++++++++++++ .../UserServiceTest.cs | 1 - 5 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs create mode 100644 test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs index 79af2f22c..5e7cb98cf 100644 --- a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs +++ b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/AuthClient.cs @@ -12,6 +12,7 @@ public AuthClient(ICallerProvider callerProvider, IMultiEnvironmentUserContext u TeamService = new TeamService(callerProvider, userContext); ProjectService = new ProjectService(callerProvider, userContext); PermissionService = new PermissionService(callerProvider, userContext); + OssService = new OssService(callerProvider); } public IUserService UserService { get; } @@ -23,5 +24,7 @@ public AuthClient(ICallerProvider callerProvider, IMultiEnvironmentUserContext u public IPermissionService PermissionService { get; } public IProjectService ProjectService { get; } + + public IOssService OssService { get; } } diff --git a/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs new file mode 100644 index 000000000..6cd8c1ef6 --- /dev/null +++ b/src/BasicAbility/Masa.Contrib.BasicAbility.Auth/Service/OssService.cs @@ -0,0 +1,20 @@ +// Copyright (c) MASA Stack All rights reserved. +// Licensed under the MIT License. See LICENSE.txt in the project root for license information. + +namespace Masa.Contrib.BasicAbility.Auth.Service; + +public class OssService : IOssService +{ + readonly ICallerProvider _callerProvider; + + public OssService(ICallerProvider callerProvider) + { + _callerProvider = callerProvider; + } + + public async Task GetSecurityTokenAsync() + { + var requestUri = $"api/oss/GetSecurityToken"; + return await _callerProvider.GetAsync(requestUri) ?? throw new UserFriendlyException("Unknown exception, contact the administrator"); + } +} diff --git a/src/BuildingBlocks/MASA.BuildingBlocks b/src/BuildingBlocks/MASA.BuildingBlocks index 100bebc28..a73ef19e8 160000 --- a/src/BuildingBlocks/MASA.BuildingBlocks +++ b/src/BuildingBlocks/MASA.BuildingBlocks @@ -1 +1 @@ -Subproject commit 100bebc286f6b32cdd3a91ed3b5024b6d09b00ff +Subproject commit a73ef19e85748098b32dccba850ca863abaf9668 diff --git a/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs b/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs new file mode 100644 index 000000000..7c853059c --- /dev/null +++ b/test/Masa.Contrib.BasicAbility.Auth.Tests/SsoServiceTest.cs @@ -0,0 +1,21 @@ +// Copyright (c) MASA Stack All rights reserved. +// Licensed under the MIT License. See LICENSE.txt in the project root for license information. + +namespace Masa.Contrib.BasicAbility.Auth.Tests; + +[TestClass] +public class SsoServiceTest +{ + [TestMethod] + public async Task GetSecurityTokenAsync() + { + var data = new SecurityTokenModel("region", "accessKeyId", "accessKeySecret", "stsToken", "bucket"); + var requestUri = $"api/oss/GetSecurityToken"; + var callerProvider = new Mock(); + callerProvider.Setup(provider => provider.GetAsync(requestUri, default)).ReturnsAsync(data).Verifiable(); + var ossService = new OssService(callerProvider.Object); + var result = await ossService.GetSecurityTokenAsync(); + callerProvider.Verify(provider => provider.GetAsync(requestUri, default), Times.Once); + Assert.IsTrue(result is not null); + } +} diff --git a/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs b/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs index 81e7134e2..d9f55d0a2 100644 --- a/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs +++ b/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs @@ -421,7 +421,6 @@ public async Task TestGetListByAccountAsync() } } - class SystemData { public string Name { get; set; } From fad1740ab3858477bc2f6439e2fa066b3c581c53 Mon Sep 17 00:00:00 2001 From: wuweilai <824255785@qq.com> Date: Thu, 28 Jul 2022 15:16:58 +0800 Subject: [PATCH 5/5] refactor:Format code --- src/BuildingBlocks/MASA.BuildingBlocks | 2 +- test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BuildingBlocks/MASA.BuildingBlocks b/src/BuildingBlocks/MASA.BuildingBlocks index a73ef19e8..93f01d9b9 160000 --- a/src/BuildingBlocks/MASA.BuildingBlocks +++ b/src/BuildingBlocks/MASA.BuildingBlocks @@ -1 +1 @@ -Subproject commit a73ef19e85748098b32dccba850ca863abaf9668 +Subproject commit 93f01d9b938245f1ff11645745847122f5c39887 diff --git a/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs b/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs index d9f55d0a2..23bb3a8e1 100644 --- a/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs +++ b/test/Masa.Contrib.BasicAbility.Auth.Tests/UserServiceTest.cs @@ -407,7 +407,7 @@ public async Task TestGetListByAccountAsync() { var data = new List() { - new UserSimpleModel(Guid.NewGuid(),"account","displayName") + new UserSimpleModel(Guid.NewGuid(), "account", "displayName") }; var accounts = new List { "account" }; var requestUri = $"api/user/GetListByAccount";