diff --git a/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/EfCoreFakeProtectionObjectRepository.cs b/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/EfCoreFakeProtectionObjectRepository.cs index 82c60251f..8f3b94c54 100644 --- a/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/EfCoreFakeProtectionObjectRepository.cs +++ b/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/EfCoreFakeProtectionObjectRepository.cs @@ -2,7 +2,6 @@ using LINGYUN.Abp.DataProtection.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using Volo.Abp.EntityFrameworkCore; @@ -13,10 +12,11 @@ namespace LINGYUN.Abp.DataProtection IFakeProtectionObjectRepository { public EfCoreFakeProtectionObjectRepository( - [NotNull] IDbContextProvider dbContextProvider, + [NotNull] IDbContextProvider dbContextProvider, [NotNull] IDataAuthorizationService dataAuthorizationService, - [NotNull] IEntityTypeFilterBuilder entityTypeFilterBuilder) - : base(dbContextProvider, dataAuthorizationService, entityTypeFilterBuilder) + [NotNull] IEntityTypeFilterBuilder entityTypeFilterBuilder, + [NotNull] IEntityPropertyResultBuilder entityPropertyResultBuilder) + : base(dbContextProvider, dataAuthorizationService, entityTypeFilterBuilder, entityPropertyResultBuilder) { } diff --git a/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/ProtectionFieldTests.cs b/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/ProtectionFieldTests.cs index 8cc9cde89..4a3e7698b 100644 --- a/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/ProtectionFieldTests.cs +++ b/aspnet-core/tests/LINGYUN.Abp.DataProtection.Tests/LINGYUN/Abp/DataProtection/ProtectionFieldTests.cs @@ -99,41 +99,41 @@ namespace LINGYUN.Abp.DataProtection // role2规则 var rule2FilterGroup = new DataAccessFilterGroup(); // 只允许查询Num3小于等于400 - rule2FilterGroup.AddRule(new DataAccessFilterRule(nameof(FakeProtectionObject.Num3), 400, DataAccessFilterOperate.LessOrEqual)); - _store.Set(new DataAccessResource(RolePermissionValueProvider.ProviderName, "role2", typeof(FakeProtectionObject).FullName, DataAccessOperation.Read, rule2FilterGroup)); + rule2FilterGroup.AddRule(new DataAccessFilterRule(nameof(FakeProtectionObject.Num3), 400, typeof(int).FullName, "number", DataAccessFilterOperate.LessOrEqual)); + await _store.SetAsync(new DataAccessResource(RolePermissionValueProvider.ProviderName, "role2", typeof(FakeProtectionObject).FullName, DataAccessOperation.Read, rule2FilterGroup)); // role3编辑规则 var rule3WriteAccess = new DataAccessFilterGroup(); // 只允许编辑自己提交的数据 - rule3WriteAccess.AddRule(new DataAccessFilterRule(nameof(FakeProtectionObject.CreatorId), DataAccessCurrentUserContributor.Name, DataAccessFilterOperate.Equal)); + rule3WriteAccess.AddRule(new DataAccessFilterRule(nameof(FakeProtectionObject.CreatorId), DataAccessCurrentUserContributor.Name, typeof(Guid?).FullName, "string", DataAccessFilterOperate.Equal)); var rule3WriteAccessCacheItem = new DataAccessResource(RolePermissionValueProvider.ProviderName, "role3", typeof(FakeProtectionObject).FullName, DataAccessOperation.Write, rule3WriteAccess); // 只允许编辑Num3字段 - rule3WriteAccessCacheItem.AllowProperties.AddRange(new string[] { nameof(FakeProtectionObject.Num3) }); - _store.Set(rule3WriteAccessCacheItem); + rule3WriteAccessCacheItem.AccessedProperties.AddRange(new string[] { nameof(FakeProtectionObject.Num3) }); + await _store.SetAsync(rule3WriteAccessCacheItem); // role1读取规则 var rule1ReadAccess = new DataAccessFilterGroup(); // 只允许读取自己提交的数据 - rule1ReadAccess.AddRule(new DataAccessFilterRule(nameof(FakeProtectionObject.CreatorId), DataAccessCurrentUserContributor.Name, DataAccessFilterOperate.Equal)); + rule1ReadAccess.AddRule(new DataAccessFilterRule(nameof(FakeProtectionObject.CreatorId), DataAccessCurrentUserContributor.Name, typeof(Guid?).FullName, "string", DataAccessFilterOperate.Equal)); var rule1ReadAccessCacheItem = new DataAccessResource(RolePermissionValueProvider.ProviderName, "role1", typeof(FakeProtectionObject).FullName, DataAccessOperation.Read, rule1ReadAccess); // 只允许读取Num3字段 - rule1ReadAccessCacheItem.AllowProperties.AddRange(new string[] { nameof(FakeProtectionObject.Id), nameof(FakeProtectionObject.Num3) }); - _store.Set(rule1ReadAccessCacheItem); + rule1ReadAccessCacheItem.AccessedProperties.AddRange(new string[] { nameof(FakeProtectionObject.Id), nameof(FakeProtectionObject.Num3) }); + await _store.SetAsync(rule1ReadAccessCacheItem); // ou1读取规则 var ou1ReadAccess = new DataAccessFilterGroup(); // 允许读本部门及下级部门数据 // 获取部门树结构列表, 便利增加多个部门条件集 - ou1ReadAccess.AddRule(new DataAccessFilterRule($"{nameof(FakeProtectionObject.CreatorId)}", new List() { validUser, Guid.NewGuid() }, DataAccessFilterOperate.Contains, true)); + ou1ReadAccess.AddRule(new DataAccessFilterRule($"{nameof(FakeProtectionObject.CreatorId)}", new List() { validUser, Guid.NewGuid() }, typeof(Guid?).FullName, "string", DataAccessFilterOperate.Contains, true)); //ou1ReadAccess.AddRule(new DataAccessFilterRule($"{nameof(FakeProtectionObject.ExtraProperties)}.{DataAccessKeywords.AUTH_ORGS}", "[00001]", DataAccessFilterOperate.Contains)); //ou1ReadAccess.AddRule(new DataAccessFilterRule($"{nameof(FakeProtectionObject.ExtraProperties)}.{DataAccessKeywords.AUTH_ORGS}", "[00001.00002]", DataAccessFilterOperate.Contains)); var ou1ReadAccessCacheItem = new DataAccessResource(OrganizationUnitPermissionValueProvider.ProviderName, "00001", typeof(FakeProtectionObject).FullName, DataAccessOperation.Read, ou1ReadAccess); // 只允许读取Num3字段 - ou1ReadAccessCacheItem.AllowProperties.AddRange(new string[] { nameof(FakeProtectionObject.Id), nameof(FakeProtectionObject.Num3) }); - _store.Set(ou1ReadAccessCacheItem); + ou1ReadAccessCacheItem.AccessedProperties.AddRange(new string[] { nameof(FakeProtectionObject.Id), nameof(FakeProtectionObject.Num3) }); + await _store.SetAsync(ou1ReadAccessCacheItem); }); await WithUnitOfWorkAsync(async () => @@ -213,7 +213,7 @@ namespace LINGYUN.Abp.DataProtection var entity = await _repository.FindAsync(1); var resultBuilder = GetRequiredService(); - var exp = resultBuilder.Build(typeof(FakeProtectionObject), DataAccessOperation.Read); + var exp = await resultBuilder.Build(typeof(FakeProtectionObject), DataAccessOperation.Read); var comp = exp.Compile(); // 使用非泛型接口编译表达式树,对返回结果进行替换 var resultEntity = comp.DynamicInvoke(entity).As(); diff --git a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkAuthorizeGenerator_Tests.cs b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkAuthorizeGenerator_Tests.cs index 96c0fe13b..cdbe30cb8 100644 --- a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkAuthorizeGenerator_Tests.cs +++ b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkAuthorizeGenerator_Tests.cs @@ -1,6 +1,4 @@ -using LINGYUN.Abp.WeChat.Work.Settings; -using Shouldly; -using System.Threading.Tasks; +using System.Threading.Tasks; using Volo.Abp.Settings; namespace LINGYUN.Abp.WeChat.Work.Authorize; @@ -16,20 +14,19 @@ public class WeChatWorkAuthorizeGenerator_Tests : AbpWeChatWorkTestBase } [Theory] - [InlineData("1000002", "http://api.3dept.com/cgi-bin/query?action=get", "sdjnvh83tg93fojve2g92gyuh29", "code", "snsapi_privateinfo")] + [InlineData("http://api.3dept.com/cgi-bin/query?action=get", "sdjnvh83tg93fojve2g92gyuh29", "code", "snsapi_privateinfo")] public async Task GenerateOAuth2Authorize_Test( - string agentid, string redirectUri, string state, string responseType = "code", string scope = "snsapi_base") { - var url = await AuthorizeGenerator.GenerateOAuth2AuthorizeAsync(agentid, redirectUri, state, responseType, scope); + var url = await AuthorizeGenerator.GenerateOAuth2AuthorizeAsync(redirectUri, state, responseType, scope); url.ShouldNotBeNullOrWhiteSpace(); } [Theory] - [InlineData("1000002", "http://api.3dept.com/cgi-bin/query?action=get", "sdjnvh83tg93fojve2g92gyuh29", "CorpApp", "zh")] + [InlineData("http://api.3dept.com/cgi-bin/query?action=get", "sdjnvh83tg93fojve2g92gyuh29", "CorpApp", "zh")] public async Task GenerateOAuth2Login_Test( string agentid, string redirectUri, @@ -37,10 +34,7 @@ public class WeChatWorkAuthorizeGenerator_Tests : AbpWeChatWorkTestBase string loginType = "CorpApp", string lang = "zh") { - var corpId = await SettingProvider.GetOrNullAsync(WeChatWorkSettingNames.Connection.CorpId); - corpId.ShouldNotBeNullOrWhiteSpace(); - - var url = await AuthorizeGenerator.GenerateOAuth2LoginAsync(corpId, redirectUri, state, loginType, agentid, lang); + var url = await AuthorizeGenerator.GenerateOAuth2LoginAsync(redirectUri, state, loginType, agentid, lang); url.ShouldNotBeNullOrWhiteSpace(); } } diff --git a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkUserFinder_Tests.cs b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkUserFinder_Tests.cs index 27407db49..88af17e73 100644 --- a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkUserFinder_Tests.cs +++ b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Authorize/WeChatWorkUserFinder_Tests.cs @@ -1,5 +1,4 @@ -using Shouldly; -using System.Threading.Tasks; +using System.Threading.Tasks; namespace LINGYUN.Abp.WeChat.Work.Authorize; public class WeChatWorkUserFinder_Tests : AbpWeChatWorkTestBase @@ -11,16 +10,16 @@ public class WeChatWorkUserFinder_Tests : AbpWeChatWorkTestBase } [Theory] - [InlineData("1000002", "nuE7XPAh5AJbQ4SawxH0OmUHO_9PzRD-PSghQafeU3A")] - public async Task GetUserInfo_Test(string agentid, string code) + [InlineData("nuE7XPAh5AJbQ4SawxH0OmUHO_9PzRD-PSghQafeU3A")] + public async Task GetUserInfo_Test(string code) { - var userInfo = await WeChatWorkUserFinder.GetUserInfoAsync(agentid, code); + var userInfo = await WeChatWorkUserFinder.GetUserInfoAsync(code); userInfo.ShouldNotBeNull(); userInfo.UserId.ShouldNotBeNullOrWhiteSpace(); userInfo.UserTicket.ShouldNotBeNullOrWhiteSpace(); - var userDetail = await WeChatWorkUserFinder.GetUserDetailAsync(agentid, userInfo.UserTicket); + var userDetail = await WeChatWorkUserFinder.GetUserDetailAsync(userInfo.UserTicket); userDetail.ShouldNotBeNull(); userDetail.UserId.ShouldBe(userInfo.UserId); diff --git a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Media/WeChatWorkMediaProvider_Tests.cs b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Media/WeChatWorkMediaProvider_Tests.cs index f53e6f39a..6241583ad 100644 --- a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Media/WeChatWorkMediaProvider_Tests.cs +++ b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Media/WeChatWorkMediaProvider_Tests.cs @@ -1,5 +1,4 @@ -using Shouldly; -using System.IO; +using System.IO; using System.Threading.Tasks; using Volo.Abp.Content; @@ -13,48 +12,48 @@ public class WeChatWorkMediaProvider_Tests : AbpWeChatWorkTestBase } [Theory] - [InlineData("1000002", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\image.jpg")] - public async Task Get_Media_Test(string agentid, string fileName) + [InlineData("D:\\Projects\\Development\\Abp\\WeChat\\Work\\image.jpg")] + public async Task Get_Media_Test(string fileName) { var fileInfo = new FileInfo(fileName); using var fileStream = fileInfo.OpenRead(); var uploadMedia = new RemoteStreamContent(fileStream, fileInfo.Name); - var uploadResponse = await MediaProvider.UploadAsync(agentid, "image", uploadMedia); + var uploadResponse = await MediaProvider.UploadAsync("image", uploadMedia); uploadResponse.IsSuccessed.ShouldBeTrue(); uploadResponse.MediaId.ShouldNotBeNullOrEmpty(); - var getResponse = await MediaProvider.GetAsync(agentid, uploadResponse.MediaId); + var getResponse = await MediaProvider.GetAsync(uploadResponse.MediaId); getResponse.ShouldNotBeNull(); getResponse.ContentLength.ShouldNotBeNull(); getResponse.ContentLength.ShouldBe(uploadMedia.ContentLength); } [Theory] - [InlineData("1000002", "image", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\image.jpg")] - [InlineData("1000002", "voice", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\voice.amr")] - [InlineData("1000002", "video", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\video.mp4")] - [InlineData("1000002", "file", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\file.txt")] - public async Task Upload_Media_Test(string agentid, string type, string fileName) + [InlineData("image", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\image.jpg")] + [InlineData("voice", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\voice.amr")] + [InlineData("video", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\video.mp4")] + [InlineData("file", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\file.txt")] + public async Task Upload_Media_Test(string type, string fileName) { var fileInfo = new FileInfo(fileName); using var fileStream = fileInfo.OpenRead(); var media = new RemoteStreamContent(fileStream, fileInfo.Name); - var response = await MediaProvider.UploadAsync(agentid, type, media); + var response = await MediaProvider.UploadAsync(type, media); response.IsSuccessed.ShouldBeTrue(); response.MediaId.ShouldNotBeNullOrEmpty(); } [Theory] - [InlineData("1000002", "D:\\Projects\\Development\\Abp\\WeChat\\Work\\image.jpg")] - public async Task Upload_Image_Test(string agentid, string fileName) + [InlineData("D:\\Projects\\Development\\Abp\\WeChat\\Work\\image.jpg")] + public async Task Upload_Image_Test( string fileName) { var fileInfo = new FileInfo(fileName); using var fileStream = fileInfo.OpenRead(); var media = new RemoteStreamContent(fileStream, fileInfo.Name); - var response = await MediaProvider.UploadImageAsync(agentid, media); + var response = await MediaProvider.UploadImageAsync(media); response.IsSuccessed.ShouldBeTrue(); response.Url.ShouldNotBeNullOrEmpty(); } diff --git a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Message/WeChatWorkMessageManager_Tests.cs b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Message/WeChatWorkMessageManager_Tests.cs index a0fbdd32b..3e84e15ec 100644 --- a/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Message/WeChatWorkMessageManager_Tests.cs +++ b/aspnet-core/tests/LINGYUN.Abp.WeChat.Work.Tests/LINGYUN/Abp/WeChat/Work/Message/WeChatWorkMessageManager_Tests.cs @@ -26,7 +26,7 @@ public class WeChatWorkMessageManager_Tests : AbpWeChatWorkTestBase var response = await Sender.SendAsync(message); response.IsSuccessed.ShouldBeTrue(); - var recallRet = await Manager.ReCallMessageAsync(agentId, response.MsgId); + var recallRet = await Manager.ReCallMessageAsync(response.MsgId); recallRet.ShouldBeTrue(); } }