From 13523aab9c8f84f3812fc5116a97aa0b5c488902 Mon Sep 17 00:00:00 2001 From: Mathijs Verbeeck Date: Sun, 17 Jul 2022 23:23:56 +0200 Subject: [PATCH 1/3] Temp --- src/sdk/PnP.Core.Test/SharePoint/ListTests.cs | 18 ++++++++++++++++ .../Model/SharePoint/Core/Internal/List.cs | 21 +++++++++++++++++++ .../Model/SharePoint/Core/Public/IList.cs | 13 ++++++++++++ 3 files changed, 52 insertions(+) diff --git a/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs b/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs index 1fde229ef0..05b1807af3 100644 --- a/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs +++ b/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs @@ -1918,5 +1918,23 @@ public async Task AddListEventReceiverAsyncNoEventReceiverSequenceNumberExceptio } #endregion + + #region Effective user permissions + + [TestMethod] + public async Task GetEffectiveUserPermissionsAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var list = await context.Web.Lists.GetByTitleAsync("Documents"); + + var siteUser = await context.Web.SiteUsers.FirstOrDefaultAsync(y => y.PrincipalType == Model.Security.PrincipalType.User); + + await list.GetUserEffectivePermissionsAsync(siteUser.UserPrincipalName); + } + } + + #endregion } } diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs index 26cdd0de23..081f3bac49 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs @@ -1374,6 +1374,27 @@ public async Task> FindFilesAsync(string match) #endregion + #region User effective permissions + + public void GetUserEffectivePermissions(string userPrincipalName) + { + GetUserEffectivePermissionsAsync(userPrincipalName).GetAwaiter().GetResult(); + } + + public async Task GetUserEffectivePermissionsAsync(string userPrincipalName) + { + var apiCall = BuildGetUserEffectivePermissionsApiCall(userPrincipalName); + + var response = await RawRequestAsync(apiCall, HttpMethod.Get).ConfigureAwait(false); + } + + private ApiCall BuildGetUserEffectivePermissionsApiCall(string userPrincipalName) + { + return new ApiCall($"_api/web/lists(guid'{Id}')/getusereffectivepermissions(\"i:0#.f|membership|{userPrincipalName}\")", ApiType.SPORest); + } + + #endregion + #endregion } } diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs index 22c50a326f..daf70fe127 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs @@ -747,6 +747,19 @@ public interface IList : IDataModel, IDataModelGet, IDataModelLoad /// A of found files as type Task> FindFilesAsync(string match); + /// + /// + /// + /// + void GetUserEffectivePermissions(string userPrincipalName); + + /// + /// + /// + /// + /// + Task GetUserEffectivePermissionsAsync(string userPrincipalName); + #endregion } } From 9f460eb4a12890b3c7a8bcf7d87187897dbe3a11 Mon Sep 17 00:00:00 2001 From: Mathijs Verbeeck Date: Tue, 19 Jul 2022 17:31:29 +0200 Subject: [PATCH 2/3] Added GetUserEffectivePermissions for web, list and listitem --- .../PnP.Core.Test/SharePoint/ListItemTests.cs | 84 +++++++++++++++++++ src/sdk/PnP.Core.Test/SharePoint/ListTests.cs | 34 +++++++- ...PermissionsAsyncTest-0-00000.response.json | 1 + ...PermissionsAsyncTest-0-00001.response.json | 1 + ...PermissionsAsyncTest-0-00002.response.json | 1 + ...PermissionsAsyncTest-0-00003.response.json | 1 + ...PermissionsAsyncTest-0-00004.response.json | 1 + ...PermissionsAsyncTest-0-00005.response.json | 1 + ...PermissionsAsyncTest-0-00006.response.json | 1 + ...PermissionsAsyncTest-0-00007.response.json | 1 + ...nsExceptionAsyncTest-0-00000.response.json | 1 + ...nsExceptionAsyncTest-0-00001.response.json | 1 + ...nsExceptionAsyncTest-0-00002.response.json | 1 + ...nsExceptionAsyncTest-0-00003.response.json | 1 + ...nsExceptionAsyncTest-0-00004.response.json | 1 + ...nsExceptionAsyncTest-0-00005.response.json | 1 + ...PermissionsAsyncTest-0-00000.response.json | 1 + ...PermissionsAsyncTest-0-00001.response.json | 1 + ...PermissionsAsyncTest-0-00002.response.json | 1 + ...PermissionsAsyncTest-0-00003.response.json | 1 + ...PermissionsAsyncTest-0-00004.response.json | 1 + ...PermissionsAsyncTest-0-00005.response.json | 1 + ...PermissionsAsyncTest-0-00006.response.json | 1 + ...PermissionsAsyncTest-0-00007.response.json | 1 + ...PermissionsAsyncTest-0-00000.response.json | 1 + ...PermissionsAsyncTest-0-00001.response.json | 1 + ...PermissionsAsyncTest-0-00002.response.json | 1 + ...PermissionsAsyncTest-0-00003.response.json | 1 + ...PermissionsAsyncTest-0-00004.response.json | 1 + ...nsExceptionAsyncTest-0-00000.response.json | 1 + ...nsExceptionAsyncTest-0-00001.response.json | 1 + ...nsExceptionAsyncTest-0-00002.response.json | 1 + ...PermissionsAsyncTest-0-00000.response.json | 1 + ...PermissionsAsyncTest-0-00001.response.json | 1 + ...PermissionsAsyncTest-0-00002.response.json | 1 + ...PermissionsAsyncTest-0-00003.response.json | 1 + ...PermissionsAsyncTest-0-00004.response.json | 1 + ...PermissionsAsyncTest-0-00000.response.json | 1 + ...PermissionsAsyncTest-0-00001.response.json | 1 + ...PermissionsAsyncTest-0-00002.response.json | 1 + ...PermissionsAsyncTest-0-00003.response.json | 1 + ...nsExceptionAsyncTest-0-00000.response.json | 1 + ...nsExceptionAsyncTest-0-00001.response.json | 1 + ...PermissionsAsyncTest-0-00000.response.json | 1 + ...PermissionsAsyncTest-0-00001.response.json | 1 + ...PermissionsAsyncTest-0-00002.response.json | 1 + ...PermissionsAsyncTest-0-00003.response.json | 1 + src/sdk/PnP.Core.Test/SharePoint/WebTests.cs | 48 +++++++++++ .../Internal/EffectivePermissionsHandler.cs | 26 ++++++ .../Model/SharePoint/Core/Internal/List.cs | 32 ++++++- .../SharePoint/Core/Internal/ListItem.cs | 47 +++++++++++ .../Model/SharePoint/Core/Internal/Web.cs | 44 ++++++++++ .../Model/SharePoint/Core/Public/IList.cs | 31 +++++-- .../Model/SharePoint/Core/Public/IListItem.cs | 35 ++++++++ .../Model/SharePoint/Core/Public/IWeb.cs | 34 ++++++++ src/sdk/PnP.Core/PnPCoreResources.Designer.cs | 18 ++++ src/sdk/PnP.Core/PnPCoreResources.resx | 6 ++ 57 files changed, 472 insertions(+), 12 deletions(-) create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00005.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00006.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00007.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00003.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00004.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00005.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00005.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00006.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00007.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json create mode 100644 src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json create mode 100644 src/sdk/PnP.Core/Model/SharePoint/Core/Internal/EffectivePermissionsHandler.cs diff --git a/src/sdk/PnP.Core.Test/SharePoint/ListItemTests.cs b/src/sdk/PnP.Core.Test/SharePoint/ListItemTests.cs index 72c9eeb7fb..94c0c17cc7 100644 --- a/src/sdk/PnP.Core.Test/SharePoint/ListItemTests.cs +++ b/src/sdk/PnP.Core.Test/SharePoint/ListItemTests.cs @@ -4653,5 +4653,89 @@ public async Task ComplianceTagBatchTest() } } #endregion + + #region Effective user permissions + + [TestMethod] + public async Task GetEffectiveUserPermissionsAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var listTitle = TestCommon.GetPnPSdkTestAssetName("GetEffectiveUserPermissionsAsyncTest"); + IList list = null; + + try + { + list = await context.Web.Lists.AddAsync(listTitle, ListTemplateType.GenericList); + var item = await list.Items.AddAsync(new Dictionary { { "Title", "This is an item" } }); + + var siteUser = await context.Web.SiteUsers.FirstOrDefaultAsync(y => y.PrincipalType == Model.Security.PrincipalType.User); + + var basePermissions = await item.GetUserEffectivePermissionsAsync(siteUser.UserPrincipalName); + + Assert.IsNotNull(basePermissions); + } + finally + { + await list.DeleteAsync(); + + } + } + } + + + [TestMethod] + public async Task CheckIfUserHasPermissionsAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var listTitle = TestCommon.GetPnPSdkTestAssetName("CheckIfUserHasPermissionsAsyncTest"); + IList list = null; + + try + { + list = await context.Web.Lists.AddAsync(listTitle, ListTemplateType.GenericList); + var item = await list.Items.AddAsync(new Dictionary { { "Title", "This is an item" } }); + + var siteUser = await context.Web.SiteUsers.FirstOrDefaultAsync(y => y.PrincipalType == Model.Security.PrincipalType.User); + + var hasPermissions = await item.CheckIfUserHasPermissionsAsync(siteUser.UserPrincipalName, PermissionKind.AddListItems); + + Assert.IsNotNull(hasPermissions); + } + finally + { + await list.DeleteAsync(); + } + } + } + + [ExpectedException(typeof(ArgumentNullException))] + [TestMethod] + public async Task CheckIfUserHasPermissionsExceptionAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var listTitle = TestCommon.GetPnPSdkTestAssetName("CheckIfUserHasPermissionsExceptionAsyncTest"); + IList list = null; + + try + { + list = await context.Web.Lists.AddAsync(listTitle, ListTemplateType.GenericList); + var item = await list.Items.AddAsync(new Dictionary { { "Title", "This is an item" } }); + + var hasPermissions = await item.CheckIfUserHasPermissionsAsync(null, PermissionKind.AddListItems); + } + finally + { + await list.DeleteAsync(); + } + } + } + + #endregion } } diff --git a/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs b/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs index 05b1807af3..3e62335665 100644 --- a/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs +++ b/src/sdk/PnP.Core.Test/SharePoint/ListTests.cs @@ -1931,7 +1931,39 @@ public async Task GetEffectiveUserPermissionsAsyncTest() var siteUser = await context.Web.SiteUsers.FirstOrDefaultAsync(y => y.PrincipalType == Model.Security.PrincipalType.User); - await list.GetUserEffectivePermissionsAsync(siteUser.UserPrincipalName); + var basePermissions = await list.GetUserEffectivePermissionsAsync(siteUser.UserPrincipalName); + + Assert.IsNotNull(basePermissions); + } + } + + + [TestMethod] + public async Task CheckIfUserHasPermissionsAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var list = await context.Web.Lists.GetByTitleAsync("Documents"); + + var siteUser = await context.Web.SiteUsers.FirstOrDefaultAsync(y => y.PrincipalType == Model.Security.PrincipalType.User); + + var hasPermissions = await list.CheckIfUserHasPermissionsAsync(siteUser.UserPrincipalName, PermissionKind.AddListItems); + + Assert.IsNotNull(hasPermissions); + } + } + + [ExpectedException(typeof(ArgumentNullException))] + [TestMethod] + public async Task CheckIfUserHasPermissionsExceptionAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var list = await context.Web.Lists.GetByTitleAsync("Documents"); + + var hasPermissions = await list.CheckIfUserHasPermissionsAsync(null, PermissionKind.AddListItems); } } diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..00c3071097 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"149452a0-40f9-4000-9414-def4cc21b09e","SPClientServiceRequestDuration":"13","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..65c3aea751 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"159452a0-b006-4000-aec7-4a479bb1939b","SPClientServiceRequestDuration":"10","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..5c4dc93559 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":201,"Headers":{"SPRequestGuid":"159452a0-b00c-4000-9f1e-2da2bc9252e5","SPClientServiceRequestDuration":"204","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022AllowContentTypes\u0022:true,\u0022BaseTemplate\u0022:100,\u0022BaseType\u0022:0,\u0022ContentTypesEnabled\u0022:false,\u0022CrawlNonDefaultViews\u0022:false,\u0022Created\u0022:\u00222022-07-19T15:29:54Z\u0022,\u0022CurrentChangeToken\u0022:{\u0022StringValue\u0022:\u00221;3;3a27dbea-061c-4597-a328-dce952ba7a3f;637938413940670000;514055810\u0022},\u0022DefaultContentApprovalWorkflowId\u0022:\u002200000000-0000-0000-0000-000000000000\u0022,\u0022DefaultItemOpenUseListSetting\u0022:false,\u0022Description\u0022:\u0022\u0022,\u0022Direction\u0022:\u0022none\u0022,\u0022DisableCommenting\u0022:false,\u0022DisableGridEditing\u0022:false,\u0022DocumentTemplateUrl\u0022:null,\u0022DraftVersionVisibility\u0022:0,\u0022EnableAttachments\u0022:true,\u0022EnableFolderCreation\u0022:false,\u0022EnableMinorVersions\u0022:false,\u0022EnableModeration\u0022:false,\u0022EnableRequestSignOff\u0022:true,\u0022EnableVersioning\u0022:true,\u0022EntityTypeName\u0022:\u0022PNP_x005f_SDK_x005f_TEST_x005f_CheckIfUserHasPermissionsAsyncTestList\u0022,\u0022ExemptFromBlockDownloadOfNonViewableFiles\u0022:false,\u0022FileSavePostProcessingEnabled\u0022:false,\u0022ForceCheckout\u0022:false,\u0022HasExternalDataSource\u0022:false,\u0022Hidden\u0022:false,\u0022Id\u0022:\u00223a27dbea-061c-4597-a328-dce952ba7a3f\u0022,\u0022ImagePath\u0022:{\u0022DecodedUrl\u0022:\u0022/_layouts/15/images/itgen.png?rev=47\u0022},\u0022ImageUrl\u0022:\u0022/_layouts/15/images/itgen.png?rev=47\u0022,\u0022DefaultSensitivityLabelForLibrary\u0022:\u0022\u0022,\u0022IrmEnabled\u0022:false,\u0022IrmExpire\u0022:false,\u0022IrmReject\u0022:false,\u0022IsApplicationList\u0022:false,\u0022IsCatalog\u0022:false,\u0022IsPrivate\u0022:false,\u0022ItemCount\u0022:0,\u0022LastItemDeletedDate\u0022:\u00222022-07-19T15:29:54Z\u0022,\u0022LastItemModifiedDate\u0022:\u00222022-07-19T15:29:54Z\u0022,\u0022LastItemUserModifiedDate\u0022:\u00222022-07-19T15:29:54Z\u0022,\u0022ListExperienceOptions\u0022:0,\u0022ListItemEntityTypeFullName\u0022:\u0022SP.Data.PNP_x005f_SDK_x005f_TEST_x005f_CheckIfUserHasPermissionsAsyncTestListItem\u0022,\u0022MajorVersionLimit\u0022:50,\u0022MajorWithMinorVersionsLimit\u0022:0,\u0022MultipleDataList\u0022:false,\u0022NoCrawl\u0022:false,\u0022ParentWebPath\u0022:{\u0022DecodedUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022},\u0022ParentWebUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022,\u0022ParserDisabled\u0022:false,\u0022ServerTemplateCanCreateFolders\u0022:true,\u0022TemplateFeatureId\u0022:\u002200bfea71-de22-43b2-a848-c05709900100\u0022,\u0022Title\u0022:\u0022PNP_SDK_TEST_CheckIfUserHasPermissionsAsyncTest\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json new file mode 100644 index 0000000000..9f256ec19c --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"159452a0-a023-4000-d0bb-f7a3e8665c1c","SPClientServiceRequestDuration":"37","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022ErrorCode\u0022:0,\u0022ErrorMessage\u0022:null,\u0022FieldName\u0022:\u0022Title\u0022,\u0022FieldValue\u0022:\u0022This is an item\u0022,\u0022HasException\u0022:false,\u0022ItemId\u0022:0},{\u0022ErrorCode\u0022:0,\u0022ErrorMessage\u0022:null,\u0022FieldName\u0022:\u0022Id\u0022,\u0022FieldValue\u0022:\u00221\u0022,\u0022HasException\u0022:false,\u0022ItemId\u0022:0}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json new file mode 100644 index 0000000000..1257d98160 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"159452a0-502a-4000-9414-da30149d2a12","SPClientServiceRequestDuration":"22","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022Fields\u0022:[{\u0022Id\u0022:\u00221d22ea11-1e32-424e-89ab-9fedbadb6ce1\u0022,\u0022InternalName\u0022:\u0022ID\u0022,\u0022Title\u0022:\u0022ID\u0022,\u0022FieldTypeKind\u0022:5,\u0022TypeAsString\u0022:\u0022Counter\u0022},{\u0022Id\u0022:\u002203e45e84-1992-4d42-9116-26f756012634\u0022,\u0022InternalName\u0022:\u0022ContentTypeId\u0022,\u0022Title\u0022:\u0022Content Type ID\u0022,\u0022FieldTypeKind\u0022:25,\u0022TypeAsString\u0022:\u0022ContentTypeId\u0022},{\u0022Id\u0022:\u0022c042a256-787d-4a6f-8a8a-cf6ab767f12d\u0022,\u0022InternalName\u0022:\u0022ContentType\u0022,\u0022Title\u0022:\u0022Content Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022fa564e0f-0c70-4ab9-b863-0177e6ddd247\u0022,\u0022InternalName\u0022:\u0022Title\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u002228cf69c5-fa48-462a-b5cd-27b6f9d2bd5f\u0022,\u0022InternalName\u0022:\u0022Modified\u0022,\u0022Title\u0022:\u0022Modified\u0022,\u0022FieldTypeKind\u0022:4,\u0022TypeAsString\u0022:\u0022DateTime\u0022},{\u0022Id\u0022:\u00228c06beca-0777-48f7-91c7-6da68bc07b69\u0022,\u0022InternalName\u0022:\u0022Created\u0022,\u0022Title\u0022:\u0022Created\u0022,\u0022FieldTypeKind\u0022:4,\u0022TypeAsString\u0022:\u0022DateTime\u0022},{\u0022Id\u0022:\u00221df5e554-ec7e-46a6-901d-d85a3881cb18\u0022,\u0022InternalName\u0022:\u0022Author\u0022,\u0022Title\u0022:\u0022Created By\u0022,\u0022FieldTypeKind\u0022:20,\u0022TypeAsString\u0022:\u0022User\u0022},{\u0022Id\u0022:\u0022d31655d1-1d5b-4511-95a1-7a09e9b75bf2\u0022,\u0022InternalName\u0022:\u0022Editor\u0022,\u0022Title\u0022:\u0022Modified By\u0022,\u0022FieldTypeKind\u0022:20,\u0022TypeAsString\u0022:\u0022User\u0022},{\u0022Id\u0022:\u002226d0756c-986a-48a7-af35-bf18ab85ff4a\u0022,\u0022InternalName\u0022:\u0022_HasCopyDestinations\u0022,\u0022Title\u0022:\u0022Has Copy Destinations\u0022,\u0022FieldTypeKind\u0022:8,\u0022TypeAsString\u0022:\u0022Boolean\u0022},{\u0022Id\u0022:\u00226b4e226d-3d88-4a36-808d-a129bf52bccf\u0022,\u0022InternalName\u0022:\u0022_CopySource\u0022,\u0022Title\u0022:\u0022Copy Source\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u0022d4e44a66-ee3a-4d02-88c9-4ec5ff3f4cd5\u0022,\u0022InternalName\u0022:\u0022owshiddenversion\u0022,\u0022Title\u0022:\u0022owshiddenversion\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022f1e020bc-ba26-443f-bf2f-b68715017bbc\u0022,\u0022InternalName\u0022:\u0022WorkflowVersion\u0022,\u0022Title\u0022:\u0022Workflow Version\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u00227841bf41-43d0-4434-9f50-a673baef7631\u0022,\u0022InternalName\u0022:\u0022_UIVersion\u0022,\u0022Title\u0022:\u0022UI Version\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022dce8262a-3ae9-45aa-aab4-83bd75fb738a\u0022,\u0022InternalName\u0022:\u0022_UIVersionString\u0022,\u0022Title\u0022:\u0022Version\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u002267df98f4-9dec-48ff-a553-29bece9c5bf4\u0022,\u0022InternalName\u0022:\u0022Attachments\u0022,\u0022Title\u0022:\u0022Attachments\u0022,\u0022FieldTypeKind\u0022:19,\u0022TypeAsString\u0022:\u0022Attachments\u0022},{\u0022Id\u0022:\u0022fdc3b2ed-5bf2-4835-a4bc-b885f3396a61\u0022,\u0022InternalName\u0022:\u0022_ModerationStatus\u0022,\u0022Title\u0022:\u0022Approval Status\u0022,\u0022FieldTypeKind\u0022:23,\u0022TypeAsString\u0022:\u0022ModStat\u0022},{\u0022Id\u0022:\u002234ad21eb-75bd-4544-8c73-0e08330291fe\u0022,\u0022InternalName\u0022:\u0022_ModerationComments\u0022,\u0022Title\u0022:\u0022Approver Comments\u0022,\u0022FieldTypeKind\u0022:3,\u0022TypeAsString\u0022:\u0022Note\u0022},{\u0022Id\u0022:\u0022503f1caa-358e-4918-9094-4a2cdc4bc034\u0022,\u0022InternalName\u0022:\u0022Edit\u0022,\u0022Title\u0022:\u0022Edit\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022bc91a437-52e7-49e1-8c4e-4698904b2b6d\u0022,\u0022InternalName\u0022:\u0022LinkTitleNoMenu\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u002282642ec8-ef9b-478f-acf9-31f7d45fbc31\u0022,\u0022InternalName\u0022:\u0022LinkTitle\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00225f190d91-3dbc-4489-9878-3c092caf35b6\u0022,\u0022InternalName\u0022:\u0022LinkTitle2\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022b1f7969b-ea65-42e1-8b54-b588292635f2\u0022,\u0022InternalName\u0022:\u0022SelectTitle\u0022,\u0022Title\u0022:\u0022Select\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u002250a54da4-1528-4e67-954a-e2d24f1e9efb\u0022,\u0022InternalName\u0022:\u0022InstanceID\u0022,\u0022Title\u0022:\u0022Instance ID\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022ca4addac-796f-4b23-b093-d2a3f65c0774\u0022,\u0022InternalName\u0022:\u0022Order\u0022,\u0022Title\u0022:\u0022Order\u0022,\u0022FieldTypeKind\u0022:9,\u0022TypeAsString\u0022:\u0022Number\u0022},{\u0022Id\u0022:\u0022ae069f25-3ac2-4256-b9c3-15dbc15da0e0\u0022,\u0022InternalName\u0022:\u0022GUID\u0022,\u0022Title\u0022:\u0022GUID\u0022,\u0022FieldTypeKind\u0022:14,\u0022TypeAsString\u0022:\u0022Guid\u0022},{\u0022Id\u0022:\u0022de8beacf-5505-47cd-80a6-aa44e7ffe2f4\u0022,\u0022InternalName\u0022:\u0022WorkflowInstanceID\u0022,\u0022Title\u0022:\u0022Workflow Instance ID\u0022,\u0022FieldTypeKind\u0022:14,\u0022TypeAsString\u0022:\u0022Guid\u0022},{\u0022Id\u0022:\u002294f89715-e097-4e8b-ba79-ea02aa8b7adb\u0022,\u0022InternalName\u0022:\u0022FileRef\u0022,\u0022Title\u0022:\u0022URL Path\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002256605df6-8fa1-47e4-a04c-5b384d59609f\u0022,\u0022InternalName\u0022:\u0022FileDirRef\u0022,\u0022Title\u0022:\u0022Path\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022173f76c8-aebd-446a-9bc9-769a2bd2c18f\u0022,\u0022InternalName\u0022:\u0022Last_x0020_Modified\u0022,\u0022Title\u0022:\u0022Modified\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022998b5cff-4a35-47a7-92f3-3914aa6aa4a2\u0022,\u0022InternalName\u0022:\u0022Created_x0020_Date\u0022,\u0022Title\u0022:\u0022Created\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002230bb605f-5bae-48fe-b4e3-1f81d9772af9\u0022,\u0022InternalName\u0022:\u0022FSObjType\u0022,\u0022Title\u0022:\u0022Item Type\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022423874f8-c300-4bfb-b7a1-42e2159e3b19\u0022,\u0022InternalName\u0022:\u0022SortBehavior\u0022,\u0022Title\u0022:\u0022Sort Type\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022ba3c27ee-4791-4867-8821-ff99000bac98\u0022,\u0022InternalName\u0022:\u0022PermMask\u0022,\u0022Title\u0022:\u0022Effective Permissions Mask\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022dcc67ebd-247f-4bee-8626-85ff6f69fbb6\u0022,\u0022InternalName\u0022:\u0022PrincipalCount\u0022,\u0022Title\u0022:\u0022Principal Count\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00228553196d-ec8d-4564-9861-3dbe931050c8\u0022,\u0022InternalName\u0022:\u0022FileLeafRef\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:18,\u0022TypeAsString\u0022:\u0022File\u0022},{\u0022Id\u0022:\u00224b7403de-8d94-43e8-9f0f-137a3e298126\u0022,\u0022InternalName\u0022:\u0022UniqueId\u0022,\u0022Title\u0022:\u0022Unique Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00226d2c4fde-3605-428e-a236-ce5f3dc2b4d4\u0022,\u0022InternalName\u0022:\u0022SyncClientId\u0022,\u0022Title\u0022:\u0022Client Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022c5c4b81c-f1d9-4b43-a6a2-090df32ebb68\u0022,\u0022InternalName\u0022:\u0022ProgId\u0022,\u0022Title\u0022:\u0022ProgId\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022dddd2420-b270-4735-93b5-92b713d0944d\u0022,\u0022InternalName\u0022:\u0022ScopeId\u0022,\u0022Title\u0022:\u0022ScopeId\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002239360f11-34cf-4356-9945-25c44e68dade\u0022,\u0022InternalName\u0022:\u0022File_x0020_Type\u0022,\u0022Title\u0022:\u0022File Type\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u00224ef1b78f-fdba-48dc-b8ab-3fa06a0c9804\u0022,\u0022InternalName\u0022:\u0022HTML_x0020_File_x0020_Type\u0022,\u0022Title\u0022:\u0022HTML File Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00223c6303be-e21f-4366-80d7-d6d0a3b22c7a\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableStart\u0022,\u0022Title\u0022:\u0022Edit Menu Table Start\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00221344423c-c7f9-4134-88e4-ad842e2d723c\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableStart2\u0022,\u0022Title\u0022:\u0022Edit Menu Table Start\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00222ea78cef-1bf9-4019-960a-02c41636cb47\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableEnd\u0022,\u0022Title\u0022:\u0022Edit Menu Table End\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00229d30f126-ba48-446b-b8f9-83745f322ebe\u0022,\u0022InternalName\u0022:\u0022LinkFilenameNoMenu\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00225cc6dc79-3710-4374-b433-61cb4a686c12\u0022,\u0022InternalName\u0022:\u0022LinkFilename\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022224ba411-da77-4050-b0eb-62d422f13d3e\u0022,\u0022InternalName\u0022:\u0022LinkFilename2\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022081c6e4c-5c14-4f20-b23e-1a71ceb6a67c\u0022,\u0022InternalName\u0022:\u0022DocIcon\u0022,\u0022Title\u0022:\u0022Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022105f76ce-724a-4bba-aece-f81f2fce58f5\u0022,\u0022InternalName\u0022:\u0022ServerUrl\u0022,\u0022Title\u0022:\u0022Server Relative URL\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00227177cfc7-f399-4d4d-905d-37dd51bc90bf\u0022,\u0022InternalName\u0022:\u0022EncodedAbsUrl\u0022,\u0022Title\u0022:\u0022Encoded Absolute URL\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00227615464b-559e-4302-b8e2-8f440b913101\u0022,\u0022InternalName\u0022:\u0022BaseName\u0022,\u0022Title\u0022:\u0022File Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022687c7f94-686a-42d3-9b67-2782eac4b4f8\u0022,\u0022InternalName\u0022:\u0022MetaInfo\u0022,\u0022Title\u0022:\u0022Property Bag\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002243bdd51b-3c5b-4e78-90a8-fb2087f71e70\u0022,\u0022InternalName\u0022:\u0022_Level\u0022,\u0022Title\u0022:\u0022Level\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022c101c3e7-122d-4d4d-bc34-58e94a38c816\u0022,\u0022InternalName\u0022:\u0022_IsCurrentVersion\u0022,\u0022Title\u0022:\u0022Is Current Version\u0022,\u0022FieldTypeKind\u0022:8,\u0022TypeAsString\u0022:\u0022Boolean\u0022},{\u0022Id\u0022:\u0022b824e17e-a1b3-426e-aecf-f0184d900485\u0022,\u0022InternalName\u0022:\u0022ItemChildCount\u0022,\u0022Title\u0022:\u0022Item Child Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022960ff01f-2b6d-4f1b-9c3f-e19ad8927341\u0022,\u0022InternalName\u0022:\u0022FolderChildCount\u0022,\u0022Title\u0022:\u0022Folder Child Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022786099e5-d20a-4232-86e5-cfc3d6face96\u0022,\u0022InternalName\u0022:\u0022Restricted\u0022,\u0022Title\u0022:\u0022Restricted\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002214ee99cd-bed9-474a-bf99-8f753fbad6b4\u0022,\u0022InternalName\u0022:\u0022OriginatorId\u0022,\u0022Title\u0022:\u0022Originator Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00220b16648a-daff-47d4-9fda-c6038b75ed27\u0022,\u0022InternalName\u0022:\u0022NoExecute\u0022,\u0022Title\u0022:\u0022NoExecute\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d48268e5-c65d-486c-bbf1-874cf986d7d3\u0022,\u0022InternalName\u0022:\u0022ContentVersion\u0022,\u0022Title\u0022:\u0022Content Version\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022ccc1037f-f65e-434a-868e-8c98af31fe29\u0022,\u0022InternalName\u0022:\u0022_ComplianceFlags\u0022,\u0022Title\u0022:\u0022Label setting\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d4b6480a-4bed-4094-9a52-30181ea38f1d\u0022,\u0022InternalName\u0022:\u0022_ComplianceTag\u0022,\u0022Title\u0022:\u0022Retention label\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002292be610e-ddbb-49f4-b3b1-5c2bc768df8f\u0022,\u0022InternalName\u0022:\u0022_ComplianceTagWrittenTime\u0022,\u0022Title\u0022:\u0022Retention label Applied\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022418d7676-2d6f-42cf-a16a-e43d2971252a\u0022,\u0022InternalName\u0022:\u0022_ComplianceTagUserId\u0022,\u0022Title\u0022:\u0022Label applied by\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00228382d247-72a9-44b1-9794-7b177edc89f3\u0022,\u0022InternalName\u0022:\u0022_IsRecord\u0022,\u0022Title\u0022:\u0022Item is a Record\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022b4cb04e8-622e-4c7d-8e87-b558a1bb907b\u0022,\u0022InternalName\u0022:\u0022AccessPolicy\u0022,\u0022Title\u0022:\u0022Access Policy\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022df7ffe41-81d6-46eb-8777-444d1613c803\u0022,\u0022InternalName\u0022:\u0022_VirusStatus\u0022,\u0022Title\u0022:\u0022VirusStatus\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002232d407ed-15e1-4ccc-b1d4-c56f5799b256\u0022,\u0022InternalName\u0022:\u0022_VirusVendorID\u0022,\u0022Title\u0022:\u0022VirusVendorID\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022c4b1727e-aca8-4bd8-ae83-f554ae3c08eb\u0022,\u0022InternalName\u0022:\u0022_VirusInfo\u0022,\u0022Title\u0022:\u0022VirusInfo\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00226bfaba20-36bf-44b5-a1b2-eb6346d49716\u0022,\u0022InternalName\u0022:\u0022AppAuthor\u0022,\u0022Title\u0022:\u0022App Created By\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022e08400f3-c779-4ed2-a18c-ab7f34caa318\u0022,\u0022InternalName\u0022:\u0022AppEditor\u0022,\u0022Title\u0022:\u0022App Modified By\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00224df6bfaf-f887-424e-8ea3-fd050113e7a9\u0022,\u0022InternalName\u0022:\u0022SMTotalSize\u0022,\u0022Title\u0022:\u0022Total Size\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d340fca5-f503-4baa-bae9-90f1447ebff6\u0022,\u0022InternalName\u0022:\u0022SMLastModifiedDate\u0022,\u0022Title\u0022:\u0022Last Modified Date\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00221faa4902-9115-44b9-bba7-791441ca1d6f\u0022,\u0022InternalName\u0022:\u0022SMTotalFileStreamSize\u0022,\u0022Title\u0022:\u0022Total File Stream Size\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022a261b12a-8ca2-47fa-a117-05861d637c7e\u0022,\u0022InternalName\u0022:\u0022SMTotalFileCount\u0022,\u0022Title\u0022:\u0022Total File Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00223a6b296c-3f50-445c-a13f-9c679ea9dda3\u0022,\u0022InternalName\u0022:\u0022ComplianceAssetId\u0022,\u0022Title\u0022:\u0022Compliance Asset Id\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u0022c274cbfd-084a-4017-925f-cce50c9e3eec\u0022,\u0022InternalName\u0022:\u0022_CommentFlags\u0022,\u0022Title\u0022:\u0022Comment settings\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d307dff3-340f-44a2-9f4b-fbfe1ba07459\u0022,\u0022InternalName\u0022:\u0022_CommentCount\u0022,\u0022Title\u0022:\u0022Comment count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022}],\u0022Id\u0022:\u00223a27dbea-061c-4597-a328-dce952ba7a3f\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00005.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00005.response.json new file mode 100644 index 0000000000..269b74ae37 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00005.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"159452a0-a033-4000-9414-d8f2caf1f78f","SPClientServiceRequestDuration":"16","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022Id\u0022:13,\u0022IsHiddenInUI\u0022:false,\u0022LoginName\u0022:\u0022i:0#.f|membership|adelev@mathijsdev2.onmicrosoft.com\u0022,\u0022Title\u0022:\u0022Adele Vance\u0022,\u0022PrincipalType\u0022:1,\u0022Email\u0022:\u0022AdeleV@mathijsdev2.onmicrosoft.com\u0022,\u0022Expiration\u0022:\u0022\u0022,\u0022IsEmailAuthenticationGuestUser\u0022:false,\u0022IsShareByEmailGuestUser\u0022:false,\u0022IsSiteAdmin\u0022:false,\u0022UserId\u0022:{\u0022NameId\u0022:\u0022100320009d80e5de\u0022,\u0022NameIdIssuer\u0022:\u0022urn:federation:microsoftonline\u0022},\u0022UserPrincipalName\u0022:\u0022adelev@mathijsdev2.onmicrosoft.com\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00006.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00006.response.json new file mode 100644 index 0000000000..62aa0f6d72 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00006.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"159452a0-c037-4000-9414-db323e75c5af","SPClientServiceRequestDuration":"36","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022High\u0022:\u0022944\u0022,\u0022Low\u0022:\u00221011030767\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00007.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00007.response.json new file mode 100644 index 0000000000..ab1b7ed698 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsAsyncTest-0-00007.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"159452a0-d03d-4000-aec7-4630f9eeb5d8","SPClientServiceRequestDuration":"52","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":""} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..6a5d4a2880 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"1c9452a0-30b5-4000-9414-d2ad261727aa","SPClientServiceRequestDuration":"11","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..ebfeedda40 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"1c9452a0-90c3-4000-d0bb-f2758caaa251","SPClientServiceRequestDuration":"10","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..b4c980ae9b --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":201,"Headers":{"SPRequestGuid":"1c9452a0-f0cd-4000-aec7-409e4c81b634","SPClientServiceRequestDuration":"195","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022AllowContentTypes\u0022:true,\u0022BaseTemplate\u0022:100,\u0022BaseType\u0022:0,\u0022ContentTypesEnabled\u0022:false,\u0022CrawlNonDefaultViews\u0022:false,\u0022Created\u0022:\u00222022-07-19T15:30:26Z\u0022,\u0022CurrentChangeToken\u0022:{\u0022StringValue\u0022:\u00221;3;aac5c07d-86a0-478d-9d71-9531d1e76803;637938414258200000;514055904\u0022},\u0022DefaultContentApprovalWorkflowId\u0022:\u002200000000-0000-0000-0000-000000000000\u0022,\u0022DefaultItemOpenUseListSetting\u0022:false,\u0022Description\u0022:\u0022\u0022,\u0022Direction\u0022:\u0022none\u0022,\u0022DisableCommenting\u0022:false,\u0022DisableGridEditing\u0022:false,\u0022DocumentTemplateUrl\u0022:null,\u0022DraftVersionVisibility\u0022:0,\u0022EnableAttachments\u0022:true,\u0022EnableFolderCreation\u0022:false,\u0022EnableMinorVersions\u0022:false,\u0022EnableModeration\u0022:false,\u0022EnableRequestSignOff\u0022:true,\u0022EnableVersioning\u0022:true,\u0022EntityTypeName\u0022:\u0022PNP_x005f_SDK_x005f_TEST_x005f_CheckIfUserHasPermissionsExceptionAsyList\u0022,\u0022ExemptFromBlockDownloadOfNonViewableFiles\u0022:false,\u0022FileSavePostProcessingEnabled\u0022:false,\u0022ForceCheckout\u0022:false,\u0022HasExternalDataSource\u0022:false,\u0022Hidden\u0022:false,\u0022Id\u0022:\u0022aac5c07d-86a0-478d-9d71-9531d1e76803\u0022,\u0022ImagePath\u0022:{\u0022DecodedUrl\u0022:\u0022/_layouts/15/images/itgen.png?rev=47\u0022},\u0022ImageUrl\u0022:\u0022/_layouts/15/images/itgen.png?rev=47\u0022,\u0022DefaultSensitivityLabelForLibrary\u0022:\u0022\u0022,\u0022IrmEnabled\u0022:false,\u0022IrmExpire\u0022:false,\u0022IrmReject\u0022:false,\u0022IsApplicationList\u0022:false,\u0022IsCatalog\u0022:false,\u0022IsPrivate\u0022:false,\u0022ItemCount\u0022:0,\u0022LastItemDeletedDate\u0022:\u00222022-07-19T15:30:26Z\u0022,\u0022LastItemModifiedDate\u0022:\u00222022-07-19T15:30:26Z\u0022,\u0022LastItemUserModifiedDate\u0022:\u00222022-07-19T15:30:26Z\u0022,\u0022ListExperienceOptions\u0022:0,\u0022ListItemEntityTypeFullName\u0022:\u0022SP.Data.PNP_x005f_SDK_x005f_TEST_x005f_CheckIfUserHasPermissionsExceptionAsyListItem\u0022,\u0022MajorVersionLimit\u0022:50,\u0022MajorWithMinorVersionsLimit\u0022:0,\u0022MultipleDataList\u0022:false,\u0022NoCrawl\u0022:false,\u0022ParentWebPath\u0022:{\u0022DecodedUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022},\u0022ParentWebUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022,\u0022ParserDisabled\u0022:false,\u0022ServerTemplateCanCreateFolders\u0022:true,\u0022TemplateFeatureId\u0022:\u002200bfea71-de22-43b2-a848-c05709900100\u0022,\u0022Title\u0022:\u0022PNP_SDK_TEST_CheckIfUserHasPermissionsExceptionAsyncTest\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00003.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00003.response.json new file mode 100644 index 0000000000..2c78e748d0 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00003.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"1c9452a0-30e7-4000-9414-d8f6d4474163","SPClientServiceRequestDuration":"47","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022ErrorCode\u0022:0,\u0022ErrorMessage\u0022:null,\u0022FieldName\u0022:\u0022Title\u0022,\u0022FieldValue\u0022:\u0022This is an item\u0022,\u0022HasException\u0022:false,\u0022ItemId\u0022:0},{\u0022ErrorCode\u0022:0,\u0022ErrorMessage\u0022:null,\u0022FieldName\u0022:\u0022Id\u0022,\u0022FieldValue\u0022:\u00221\u0022,\u0022HasException\u0022:false,\u0022ItemId\u0022:0}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00004.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00004.response.json new file mode 100644 index 0000000000..cf5dd368a9 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00004.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"1c9452a0-a0ee-4000-9414-d9c53c91827a","SPClientServiceRequestDuration":"25","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022Fields\u0022:[{\u0022Id\u0022:\u00221d22ea11-1e32-424e-89ab-9fedbadb6ce1\u0022,\u0022InternalName\u0022:\u0022ID\u0022,\u0022Title\u0022:\u0022ID\u0022,\u0022FieldTypeKind\u0022:5,\u0022TypeAsString\u0022:\u0022Counter\u0022},{\u0022Id\u0022:\u002203e45e84-1992-4d42-9116-26f756012634\u0022,\u0022InternalName\u0022:\u0022ContentTypeId\u0022,\u0022Title\u0022:\u0022Content Type ID\u0022,\u0022FieldTypeKind\u0022:25,\u0022TypeAsString\u0022:\u0022ContentTypeId\u0022},{\u0022Id\u0022:\u0022c042a256-787d-4a6f-8a8a-cf6ab767f12d\u0022,\u0022InternalName\u0022:\u0022ContentType\u0022,\u0022Title\u0022:\u0022Content Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022fa564e0f-0c70-4ab9-b863-0177e6ddd247\u0022,\u0022InternalName\u0022:\u0022Title\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u002228cf69c5-fa48-462a-b5cd-27b6f9d2bd5f\u0022,\u0022InternalName\u0022:\u0022Modified\u0022,\u0022Title\u0022:\u0022Modified\u0022,\u0022FieldTypeKind\u0022:4,\u0022TypeAsString\u0022:\u0022DateTime\u0022},{\u0022Id\u0022:\u00228c06beca-0777-48f7-91c7-6da68bc07b69\u0022,\u0022InternalName\u0022:\u0022Created\u0022,\u0022Title\u0022:\u0022Created\u0022,\u0022FieldTypeKind\u0022:4,\u0022TypeAsString\u0022:\u0022DateTime\u0022},{\u0022Id\u0022:\u00221df5e554-ec7e-46a6-901d-d85a3881cb18\u0022,\u0022InternalName\u0022:\u0022Author\u0022,\u0022Title\u0022:\u0022Created By\u0022,\u0022FieldTypeKind\u0022:20,\u0022TypeAsString\u0022:\u0022User\u0022},{\u0022Id\u0022:\u0022d31655d1-1d5b-4511-95a1-7a09e9b75bf2\u0022,\u0022InternalName\u0022:\u0022Editor\u0022,\u0022Title\u0022:\u0022Modified By\u0022,\u0022FieldTypeKind\u0022:20,\u0022TypeAsString\u0022:\u0022User\u0022},{\u0022Id\u0022:\u002226d0756c-986a-48a7-af35-bf18ab85ff4a\u0022,\u0022InternalName\u0022:\u0022_HasCopyDestinations\u0022,\u0022Title\u0022:\u0022Has Copy Destinations\u0022,\u0022FieldTypeKind\u0022:8,\u0022TypeAsString\u0022:\u0022Boolean\u0022},{\u0022Id\u0022:\u00226b4e226d-3d88-4a36-808d-a129bf52bccf\u0022,\u0022InternalName\u0022:\u0022_CopySource\u0022,\u0022Title\u0022:\u0022Copy Source\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u0022d4e44a66-ee3a-4d02-88c9-4ec5ff3f4cd5\u0022,\u0022InternalName\u0022:\u0022owshiddenversion\u0022,\u0022Title\u0022:\u0022owshiddenversion\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022f1e020bc-ba26-443f-bf2f-b68715017bbc\u0022,\u0022InternalName\u0022:\u0022WorkflowVersion\u0022,\u0022Title\u0022:\u0022Workflow Version\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u00227841bf41-43d0-4434-9f50-a673baef7631\u0022,\u0022InternalName\u0022:\u0022_UIVersion\u0022,\u0022Title\u0022:\u0022UI Version\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022dce8262a-3ae9-45aa-aab4-83bd75fb738a\u0022,\u0022InternalName\u0022:\u0022_UIVersionString\u0022,\u0022Title\u0022:\u0022Version\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u002267df98f4-9dec-48ff-a553-29bece9c5bf4\u0022,\u0022InternalName\u0022:\u0022Attachments\u0022,\u0022Title\u0022:\u0022Attachments\u0022,\u0022FieldTypeKind\u0022:19,\u0022TypeAsString\u0022:\u0022Attachments\u0022},{\u0022Id\u0022:\u0022fdc3b2ed-5bf2-4835-a4bc-b885f3396a61\u0022,\u0022InternalName\u0022:\u0022_ModerationStatus\u0022,\u0022Title\u0022:\u0022Approval Status\u0022,\u0022FieldTypeKind\u0022:23,\u0022TypeAsString\u0022:\u0022ModStat\u0022},{\u0022Id\u0022:\u002234ad21eb-75bd-4544-8c73-0e08330291fe\u0022,\u0022InternalName\u0022:\u0022_ModerationComments\u0022,\u0022Title\u0022:\u0022Approver Comments\u0022,\u0022FieldTypeKind\u0022:3,\u0022TypeAsString\u0022:\u0022Note\u0022},{\u0022Id\u0022:\u0022503f1caa-358e-4918-9094-4a2cdc4bc034\u0022,\u0022InternalName\u0022:\u0022Edit\u0022,\u0022Title\u0022:\u0022Edit\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022bc91a437-52e7-49e1-8c4e-4698904b2b6d\u0022,\u0022InternalName\u0022:\u0022LinkTitleNoMenu\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u002282642ec8-ef9b-478f-acf9-31f7d45fbc31\u0022,\u0022InternalName\u0022:\u0022LinkTitle\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00225f190d91-3dbc-4489-9878-3c092caf35b6\u0022,\u0022InternalName\u0022:\u0022LinkTitle2\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022b1f7969b-ea65-42e1-8b54-b588292635f2\u0022,\u0022InternalName\u0022:\u0022SelectTitle\u0022,\u0022Title\u0022:\u0022Select\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u002250a54da4-1528-4e67-954a-e2d24f1e9efb\u0022,\u0022InternalName\u0022:\u0022InstanceID\u0022,\u0022Title\u0022:\u0022Instance ID\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022ca4addac-796f-4b23-b093-d2a3f65c0774\u0022,\u0022InternalName\u0022:\u0022Order\u0022,\u0022Title\u0022:\u0022Order\u0022,\u0022FieldTypeKind\u0022:9,\u0022TypeAsString\u0022:\u0022Number\u0022},{\u0022Id\u0022:\u0022ae069f25-3ac2-4256-b9c3-15dbc15da0e0\u0022,\u0022InternalName\u0022:\u0022GUID\u0022,\u0022Title\u0022:\u0022GUID\u0022,\u0022FieldTypeKind\u0022:14,\u0022TypeAsString\u0022:\u0022Guid\u0022},{\u0022Id\u0022:\u0022de8beacf-5505-47cd-80a6-aa44e7ffe2f4\u0022,\u0022InternalName\u0022:\u0022WorkflowInstanceID\u0022,\u0022Title\u0022:\u0022Workflow Instance ID\u0022,\u0022FieldTypeKind\u0022:14,\u0022TypeAsString\u0022:\u0022Guid\u0022},{\u0022Id\u0022:\u002294f89715-e097-4e8b-ba79-ea02aa8b7adb\u0022,\u0022InternalName\u0022:\u0022FileRef\u0022,\u0022Title\u0022:\u0022URL Path\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002256605df6-8fa1-47e4-a04c-5b384d59609f\u0022,\u0022InternalName\u0022:\u0022FileDirRef\u0022,\u0022Title\u0022:\u0022Path\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022173f76c8-aebd-446a-9bc9-769a2bd2c18f\u0022,\u0022InternalName\u0022:\u0022Last_x0020_Modified\u0022,\u0022Title\u0022:\u0022Modified\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022998b5cff-4a35-47a7-92f3-3914aa6aa4a2\u0022,\u0022InternalName\u0022:\u0022Created_x0020_Date\u0022,\u0022Title\u0022:\u0022Created\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002230bb605f-5bae-48fe-b4e3-1f81d9772af9\u0022,\u0022InternalName\u0022:\u0022FSObjType\u0022,\u0022Title\u0022:\u0022Item Type\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022423874f8-c300-4bfb-b7a1-42e2159e3b19\u0022,\u0022InternalName\u0022:\u0022SortBehavior\u0022,\u0022Title\u0022:\u0022Sort Type\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022ba3c27ee-4791-4867-8821-ff99000bac98\u0022,\u0022InternalName\u0022:\u0022PermMask\u0022,\u0022Title\u0022:\u0022Effective Permissions Mask\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022dcc67ebd-247f-4bee-8626-85ff6f69fbb6\u0022,\u0022InternalName\u0022:\u0022PrincipalCount\u0022,\u0022Title\u0022:\u0022Principal Count\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00228553196d-ec8d-4564-9861-3dbe931050c8\u0022,\u0022InternalName\u0022:\u0022FileLeafRef\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:18,\u0022TypeAsString\u0022:\u0022File\u0022},{\u0022Id\u0022:\u00224b7403de-8d94-43e8-9f0f-137a3e298126\u0022,\u0022InternalName\u0022:\u0022UniqueId\u0022,\u0022Title\u0022:\u0022Unique Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00226d2c4fde-3605-428e-a236-ce5f3dc2b4d4\u0022,\u0022InternalName\u0022:\u0022SyncClientId\u0022,\u0022Title\u0022:\u0022Client Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022c5c4b81c-f1d9-4b43-a6a2-090df32ebb68\u0022,\u0022InternalName\u0022:\u0022ProgId\u0022,\u0022Title\u0022:\u0022ProgId\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022dddd2420-b270-4735-93b5-92b713d0944d\u0022,\u0022InternalName\u0022:\u0022ScopeId\u0022,\u0022Title\u0022:\u0022ScopeId\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002239360f11-34cf-4356-9945-25c44e68dade\u0022,\u0022InternalName\u0022:\u0022File_x0020_Type\u0022,\u0022Title\u0022:\u0022File Type\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u00224ef1b78f-fdba-48dc-b8ab-3fa06a0c9804\u0022,\u0022InternalName\u0022:\u0022HTML_x0020_File_x0020_Type\u0022,\u0022Title\u0022:\u0022HTML File Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00223c6303be-e21f-4366-80d7-d6d0a3b22c7a\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableStart\u0022,\u0022Title\u0022:\u0022Edit Menu Table Start\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00221344423c-c7f9-4134-88e4-ad842e2d723c\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableStart2\u0022,\u0022Title\u0022:\u0022Edit Menu Table Start\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00222ea78cef-1bf9-4019-960a-02c41636cb47\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableEnd\u0022,\u0022Title\u0022:\u0022Edit Menu Table End\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00229d30f126-ba48-446b-b8f9-83745f322ebe\u0022,\u0022InternalName\u0022:\u0022LinkFilenameNoMenu\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00225cc6dc79-3710-4374-b433-61cb4a686c12\u0022,\u0022InternalName\u0022:\u0022LinkFilename\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022224ba411-da77-4050-b0eb-62d422f13d3e\u0022,\u0022InternalName\u0022:\u0022LinkFilename2\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022081c6e4c-5c14-4f20-b23e-1a71ceb6a67c\u0022,\u0022InternalName\u0022:\u0022DocIcon\u0022,\u0022Title\u0022:\u0022Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022105f76ce-724a-4bba-aece-f81f2fce58f5\u0022,\u0022InternalName\u0022:\u0022ServerUrl\u0022,\u0022Title\u0022:\u0022Server Relative URL\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00227177cfc7-f399-4d4d-905d-37dd51bc90bf\u0022,\u0022InternalName\u0022:\u0022EncodedAbsUrl\u0022,\u0022Title\u0022:\u0022Encoded Absolute URL\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00227615464b-559e-4302-b8e2-8f440b913101\u0022,\u0022InternalName\u0022:\u0022BaseName\u0022,\u0022Title\u0022:\u0022File Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022687c7f94-686a-42d3-9b67-2782eac4b4f8\u0022,\u0022InternalName\u0022:\u0022MetaInfo\u0022,\u0022Title\u0022:\u0022Property Bag\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002243bdd51b-3c5b-4e78-90a8-fb2087f71e70\u0022,\u0022InternalName\u0022:\u0022_Level\u0022,\u0022Title\u0022:\u0022Level\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022c101c3e7-122d-4d4d-bc34-58e94a38c816\u0022,\u0022InternalName\u0022:\u0022_IsCurrentVersion\u0022,\u0022Title\u0022:\u0022Is Current Version\u0022,\u0022FieldTypeKind\u0022:8,\u0022TypeAsString\u0022:\u0022Boolean\u0022},{\u0022Id\u0022:\u0022b824e17e-a1b3-426e-aecf-f0184d900485\u0022,\u0022InternalName\u0022:\u0022ItemChildCount\u0022,\u0022Title\u0022:\u0022Item Child Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022960ff01f-2b6d-4f1b-9c3f-e19ad8927341\u0022,\u0022InternalName\u0022:\u0022FolderChildCount\u0022,\u0022Title\u0022:\u0022Folder Child Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022786099e5-d20a-4232-86e5-cfc3d6face96\u0022,\u0022InternalName\u0022:\u0022Restricted\u0022,\u0022Title\u0022:\u0022Restricted\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002214ee99cd-bed9-474a-bf99-8f753fbad6b4\u0022,\u0022InternalName\u0022:\u0022OriginatorId\u0022,\u0022Title\u0022:\u0022Originator Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00220b16648a-daff-47d4-9fda-c6038b75ed27\u0022,\u0022InternalName\u0022:\u0022NoExecute\u0022,\u0022Title\u0022:\u0022NoExecute\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d48268e5-c65d-486c-bbf1-874cf986d7d3\u0022,\u0022InternalName\u0022:\u0022ContentVersion\u0022,\u0022Title\u0022:\u0022Content Version\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022ccc1037f-f65e-434a-868e-8c98af31fe29\u0022,\u0022InternalName\u0022:\u0022_ComplianceFlags\u0022,\u0022Title\u0022:\u0022Label setting\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d4b6480a-4bed-4094-9a52-30181ea38f1d\u0022,\u0022InternalName\u0022:\u0022_ComplianceTag\u0022,\u0022Title\u0022:\u0022Retention label\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002292be610e-ddbb-49f4-b3b1-5c2bc768df8f\u0022,\u0022InternalName\u0022:\u0022_ComplianceTagWrittenTime\u0022,\u0022Title\u0022:\u0022Retention label Applied\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022418d7676-2d6f-42cf-a16a-e43d2971252a\u0022,\u0022InternalName\u0022:\u0022_ComplianceTagUserId\u0022,\u0022Title\u0022:\u0022Label applied by\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00228382d247-72a9-44b1-9794-7b177edc89f3\u0022,\u0022InternalName\u0022:\u0022_IsRecord\u0022,\u0022Title\u0022:\u0022Item is a Record\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022b4cb04e8-622e-4c7d-8e87-b558a1bb907b\u0022,\u0022InternalName\u0022:\u0022AccessPolicy\u0022,\u0022Title\u0022:\u0022Access Policy\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022df7ffe41-81d6-46eb-8777-444d1613c803\u0022,\u0022InternalName\u0022:\u0022_VirusStatus\u0022,\u0022Title\u0022:\u0022VirusStatus\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002232d407ed-15e1-4ccc-b1d4-c56f5799b256\u0022,\u0022InternalName\u0022:\u0022_VirusVendorID\u0022,\u0022Title\u0022:\u0022VirusVendorID\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022c4b1727e-aca8-4bd8-ae83-f554ae3c08eb\u0022,\u0022InternalName\u0022:\u0022_VirusInfo\u0022,\u0022Title\u0022:\u0022VirusInfo\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00226bfaba20-36bf-44b5-a1b2-eb6346d49716\u0022,\u0022InternalName\u0022:\u0022AppAuthor\u0022,\u0022Title\u0022:\u0022App Created By\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022e08400f3-c779-4ed2-a18c-ab7f34caa318\u0022,\u0022InternalName\u0022:\u0022AppEditor\u0022,\u0022Title\u0022:\u0022App Modified By\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00224df6bfaf-f887-424e-8ea3-fd050113e7a9\u0022,\u0022InternalName\u0022:\u0022SMTotalSize\u0022,\u0022Title\u0022:\u0022Total Size\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d340fca5-f503-4baa-bae9-90f1447ebff6\u0022,\u0022InternalName\u0022:\u0022SMLastModifiedDate\u0022,\u0022Title\u0022:\u0022Last Modified Date\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00221faa4902-9115-44b9-bba7-791441ca1d6f\u0022,\u0022InternalName\u0022:\u0022SMTotalFileStreamSize\u0022,\u0022Title\u0022:\u0022Total File Stream Size\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022a261b12a-8ca2-47fa-a117-05861d637c7e\u0022,\u0022InternalName\u0022:\u0022SMTotalFileCount\u0022,\u0022Title\u0022:\u0022Total File Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00223a6b296c-3f50-445c-a13f-9c679ea9dda3\u0022,\u0022InternalName\u0022:\u0022ComplianceAssetId\u0022,\u0022Title\u0022:\u0022Compliance Asset Id\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u0022c274cbfd-084a-4017-925f-cce50c9e3eec\u0022,\u0022InternalName\u0022:\u0022_CommentFlags\u0022,\u0022Title\u0022:\u0022Comment settings\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d307dff3-340f-44a2-9f4b-fbfe1ba07459\u0022,\u0022InternalName\u0022:\u0022_CommentCount\u0022,\u0022Title\u0022:\u0022Comment count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022}],\u0022Id\u0022:\u0022aac5c07d-86a0-478d-9d71-9531d1e76803\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00005.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00005.response.json new file mode 100644 index 0000000000..fb497ee24a --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00005.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"1c9452a0-e0f9-4000-aec7-4eddddb39162","SPClientServiceRequestDuration":"42","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":""} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..1ddd1e31cd --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"199452a0-300d-4000-9414-d42e721bc489","SPClientServiceRequestDuration":"264","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..5c5c85078a --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"199452a0-d029-4000-9414-de2c521fd759","SPClientServiceRequestDuration":"11","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..fa3fba2d88 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":201,"Headers":{"SPRequestGuid":"199452a0-c032-4000-d0bb-f637381c7dec","SPClientServiceRequestDuration":"482","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022AllowContentTypes\u0022:true,\u0022BaseTemplate\u0022:100,\u0022BaseType\u0022:0,\u0022ContentTypesEnabled\u0022:false,\u0022CrawlNonDefaultViews\u0022:false,\u0022Created\u0022:\u00222022-07-19T15:30:11Z\u0022,\u0022CurrentChangeToken\u0022:{\u0022StringValue\u0022:\u00221;3;18b001ac-3222-4436-86e6-71a099ae20e6;637938414112630000;514055855\u0022},\u0022DefaultContentApprovalWorkflowId\u0022:\u002200000000-0000-0000-0000-000000000000\u0022,\u0022DefaultItemOpenUseListSetting\u0022:false,\u0022Description\u0022:\u0022\u0022,\u0022Direction\u0022:\u0022none\u0022,\u0022DisableCommenting\u0022:false,\u0022DisableGridEditing\u0022:false,\u0022DocumentTemplateUrl\u0022:null,\u0022DraftVersionVisibility\u0022:0,\u0022EnableAttachments\u0022:true,\u0022EnableFolderCreation\u0022:false,\u0022EnableMinorVersions\u0022:false,\u0022EnableModeration\u0022:false,\u0022EnableRequestSignOff\u0022:true,\u0022EnableVersioning\u0022:true,\u0022EntityTypeName\u0022:\u0022PNP_x005f_SDK_x005f_TEST_x005f_GetEffectiveUserPermissionsAsyncTestList\u0022,\u0022ExemptFromBlockDownloadOfNonViewableFiles\u0022:false,\u0022FileSavePostProcessingEnabled\u0022:false,\u0022ForceCheckout\u0022:false,\u0022HasExternalDataSource\u0022:false,\u0022Hidden\u0022:false,\u0022Id\u0022:\u002218b001ac-3222-4436-86e6-71a099ae20e6\u0022,\u0022ImagePath\u0022:{\u0022DecodedUrl\u0022:\u0022/_layouts/15/images/itgen.png?rev=47\u0022},\u0022ImageUrl\u0022:\u0022/_layouts/15/images/itgen.png?rev=47\u0022,\u0022DefaultSensitivityLabelForLibrary\u0022:\u0022\u0022,\u0022IrmEnabled\u0022:false,\u0022IrmExpire\u0022:false,\u0022IrmReject\u0022:false,\u0022IsApplicationList\u0022:false,\u0022IsCatalog\u0022:false,\u0022IsPrivate\u0022:false,\u0022ItemCount\u0022:0,\u0022LastItemDeletedDate\u0022:\u00222022-07-19T15:30:11Z\u0022,\u0022LastItemModifiedDate\u0022:\u00222022-07-19T15:30:11Z\u0022,\u0022LastItemUserModifiedDate\u0022:\u00222022-07-19T15:30:11Z\u0022,\u0022ListExperienceOptions\u0022:0,\u0022ListItemEntityTypeFullName\u0022:\u0022SP.Data.PNP_x005f_SDK_x005f_TEST_x005f_GetEffectiveUserPermissionsAsyncTestListItem\u0022,\u0022MajorVersionLimit\u0022:50,\u0022MajorWithMinorVersionsLimit\u0022:0,\u0022MultipleDataList\u0022:false,\u0022NoCrawl\u0022:false,\u0022ParentWebPath\u0022:{\u0022DecodedUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022},\u0022ParentWebUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022,\u0022ParserDisabled\u0022:false,\u0022ServerTemplateCanCreateFolders\u0022:true,\u0022TemplateFeatureId\u0022:\u002200bfea71-de22-43b2-a848-c05709900100\u0022,\u0022Title\u0022:\u0022PNP_SDK_TEST_GetEffectiveUserPermissionsAsyncTest\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json new file mode 100644 index 0000000000..2b1bbd6ef2 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"199452a0-c05d-4000-d0bb-f80e14ee325f","SPClientServiceRequestDuration":"125","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022ErrorCode\u0022:0,\u0022ErrorMessage\u0022:null,\u0022FieldName\u0022:\u0022Title\u0022,\u0022FieldValue\u0022:\u0022This is an item\u0022,\u0022HasException\u0022:false,\u0022ItemId\u0022:0},{\u0022ErrorCode\u0022:0,\u0022ErrorMessage\u0022:null,\u0022FieldName\u0022:\u0022Id\u0022,\u0022FieldValue\u0022:\u00221\u0022,\u0022HasException\u0022:false,\u0022ItemId\u0022:0}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json new file mode 100644 index 0000000000..4e1524d504 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"199452a0-e074-4000-aec7-4eed57fc3db2","SPClientServiceRequestDuration":"65","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022Fields\u0022:[{\u0022Id\u0022:\u00221d22ea11-1e32-424e-89ab-9fedbadb6ce1\u0022,\u0022InternalName\u0022:\u0022ID\u0022,\u0022Title\u0022:\u0022ID\u0022,\u0022FieldTypeKind\u0022:5,\u0022TypeAsString\u0022:\u0022Counter\u0022},{\u0022Id\u0022:\u002203e45e84-1992-4d42-9116-26f756012634\u0022,\u0022InternalName\u0022:\u0022ContentTypeId\u0022,\u0022Title\u0022:\u0022Content Type ID\u0022,\u0022FieldTypeKind\u0022:25,\u0022TypeAsString\u0022:\u0022ContentTypeId\u0022},{\u0022Id\u0022:\u0022c042a256-787d-4a6f-8a8a-cf6ab767f12d\u0022,\u0022InternalName\u0022:\u0022ContentType\u0022,\u0022Title\u0022:\u0022Content Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022fa564e0f-0c70-4ab9-b863-0177e6ddd247\u0022,\u0022InternalName\u0022:\u0022Title\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u002228cf69c5-fa48-462a-b5cd-27b6f9d2bd5f\u0022,\u0022InternalName\u0022:\u0022Modified\u0022,\u0022Title\u0022:\u0022Modified\u0022,\u0022FieldTypeKind\u0022:4,\u0022TypeAsString\u0022:\u0022DateTime\u0022},{\u0022Id\u0022:\u00228c06beca-0777-48f7-91c7-6da68bc07b69\u0022,\u0022InternalName\u0022:\u0022Created\u0022,\u0022Title\u0022:\u0022Created\u0022,\u0022FieldTypeKind\u0022:4,\u0022TypeAsString\u0022:\u0022DateTime\u0022},{\u0022Id\u0022:\u00221df5e554-ec7e-46a6-901d-d85a3881cb18\u0022,\u0022InternalName\u0022:\u0022Author\u0022,\u0022Title\u0022:\u0022Created By\u0022,\u0022FieldTypeKind\u0022:20,\u0022TypeAsString\u0022:\u0022User\u0022},{\u0022Id\u0022:\u0022d31655d1-1d5b-4511-95a1-7a09e9b75bf2\u0022,\u0022InternalName\u0022:\u0022Editor\u0022,\u0022Title\u0022:\u0022Modified By\u0022,\u0022FieldTypeKind\u0022:20,\u0022TypeAsString\u0022:\u0022User\u0022},{\u0022Id\u0022:\u002226d0756c-986a-48a7-af35-bf18ab85ff4a\u0022,\u0022InternalName\u0022:\u0022_HasCopyDestinations\u0022,\u0022Title\u0022:\u0022Has Copy Destinations\u0022,\u0022FieldTypeKind\u0022:8,\u0022TypeAsString\u0022:\u0022Boolean\u0022},{\u0022Id\u0022:\u00226b4e226d-3d88-4a36-808d-a129bf52bccf\u0022,\u0022InternalName\u0022:\u0022_CopySource\u0022,\u0022Title\u0022:\u0022Copy Source\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u0022d4e44a66-ee3a-4d02-88c9-4ec5ff3f4cd5\u0022,\u0022InternalName\u0022:\u0022owshiddenversion\u0022,\u0022Title\u0022:\u0022owshiddenversion\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022f1e020bc-ba26-443f-bf2f-b68715017bbc\u0022,\u0022InternalName\u0022:\u0022WorkflowVersion\u0022,\u0022Title\u0022:\u0022Workflow Version\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u00227841bf41-43d0-4434-9f50-a673baef7631\u0022,\u0022InternalName\u0022:\u0022_UIVersion\u0022,\u0022Title\u0022:\u0022UI Version\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022dce8262a-3ae9-45aa-aab4-83bd75fb738a\u0022,\u0022InternalName\u0022:\u0022_UIVersionString\u0022,\u0022Title\u0022:\u0022Version\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u002267df98f4-9dec-48ff-a553-29bece9c5bf4\u0022,\u0022InternalName\u0022:\u0022Attachments\u0022,\u0022Title\u0022:\u0022Attachments\u0022,\u0022FieldTypeKind\u0022:19,\u0022TypeAsString\u0022:\u0022Attachments\u0022},{\u0022Id\u0022:\u0022fdc3b2ed-5bf2-4835-a4bc-b885f3396a61\u0022,\u0022InternalName\u0022:\u0022_ModerationStatus\u0022,\u0022Title\u0022:\u0022Approval Status\u0022,\u0022FieldTypeKind\u0022:23,\u0022TypeAsString\u0022:\u0022ModStat\u0022},{\u0022Id\u0022:\u002234ad21eb-75bd-4544-8c73-0e08330291fe\u0022,\u0022InternalName\u0022:\u0022_ModerationComments\u0022,\u0022Title\u0022:\u0022Approver Comments\u0022,\u0022FieldTypeKind\u0022:3,\u0022TypeAsString\u0022:\u0022Note\u0022},{\u0022Id\u0022:\u0022503f1caa-358e-4918-9094-4a2cdc4bc034\u0022,\u0022InternalName\u0022:\u0022Edit\u0022,\u0022Title\u0022:\u0022Edit\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022bc91a437-52e7-49e1-8c4e-4698904b2b6d\u0022,\u0022InternalName\u0022:\u0022LinkTitleNoMenu\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u002282642ec8-ef9b-478f-acf9-31f7d45fbc31\u0022,\u0022InternalName\u0022:\u0022LinkTitle\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00225f190d91-3dbc-4489-9878-3c092caf35b6\u0022,\u0022InternalName\u0022:\u0022LinkTitle2\u0022,\u0022Title\u0022:\u0022Title\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022b1f7969b-ea65-42e1-8b54-b588292635f2\u0022,\u0022InternalName\u0022:\u0022SelectTitle\u0022,\u0022Title\u0022:\u0022Select\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u002250a54da4-1528-4e67-954a-e2d24f1e9efb\u0022,\u0022InternalName\u0022:\u0022InstanceID\u0022,\u0022Title\u0022:\u0022Instance ID\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022ca4addac-796f-4b23-b093-d2a3f65c0774\u0022,\u0022InternalName\u0022:\u0022Order\u0022,\u0022Title\u0022:\u0022Order\u0022,\u0022FieldTypeKind\u0022:9,\u0022TypeAsString\u0022:\u0022Number\u0022},{\u0022Id\u0022:\u0022ae069f25-3ac2-4256-b9c3-15dbc15da0e0\u0022,\u0022InternalName\u0022:\u0022GUID\u0022,\u0022Title\u0022:\u0022GUID\u0022,\u0022FieldTypeKind\u0022:14,\u0022TypeAsString\u0022:\u0022Guid\u0022},{\u0022Id\u0022:\u0022de8beacf-5505-47cd-80a6-aa44e7ffe2f4\u0022,\u0022InternalName\u0022:\u0022WorkflowInstanceID\u0022,\u0022Title\u0022:\u0022Workflow Instance ID\u0022,\u0022FieldTypeKind\u0022:14,\u0022TypeAsString\u0022:\u0022Guid\u0022},{\u0022Id\u0022:\u002294f89715-e097-4e8b-ba79-ea02aa8b7adb\u0022,\u0022InternalName\u0022:\u0022FileRef\u0022,\u0022Title\u0022:\u0022URL Path\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002256605df6-8fa1-47e4-a04c-5b384d59609f\u0022,\u0022InternalName\u0022:\u0022FileDirRef\u0022,\u0022Title\u0022:\u0022Path\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022173f76c8-aebd-446a-9bc9-769a2bd2c18f\u0022,\u0022InternalName\u0022:\u0022Last_x0020_Modified\u0022,\u0022Title\u0022:\u0022Modified\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022998b5cff-4a35-47a7-92f3-3914aa6aa4a2\u0022,\u0022InternalName\u0022:\u0022Created_x0020_Date\u0022,\u0022Title\u0022:\u0022Created\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002230bb605f-5bae-48fe-b4e3-1f81d9772af9\u0022,\u0022InternalName\u0022:\u0022FSObjType\u0022,\u0022Title\u0022:\u0022Item Type\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022423874f8-c300-4bfb-b7a1-42e2159e3b19\u0022,\u0022InternalName\u0022:\u0022SortBehavior\u0022,\u0022Title\u0022:\u0022Sort Type\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022ba3c27ee-4791-4867-8821-ff99000bac98\u0022,\u0022InternalName\u0022:\u0022PermMask\u0022,\u0022Title\u0022:\u0022Effective Permissions Mask\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022dcc67ebd-247f-4bee-8626-85ff6f69fbb6\u0022,\u0022InternalName\u0022:\u0022PrincipalCount\u0022,\u0022Title\u0022:\u0022Principal Count\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00228553196d-ec8d-4564-9861-3dbe931050c8\u0022,\u0022InternalName\u0022:\u0022FileLeafRef\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:18,\u0022TypeAsString\u0022:\u0022File\u0022},{\u0022Id\u0022:\u00224b7403de-8d94-43e8-9f0f-137a3e298126\u0022,\u0022InternalName\u0022:\u0022UniqueId\u0022,\u0022Title\u0022:\u0022Unique Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00226d2c4fde-3605-428e-a236-ce5f3dc2b4d4\u0022,\u0022InternalName\u0022:\u0022SyncClientId\u0022,\u0022Title\u0022:\u0022Client Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022c5c4b81c-f1d9-4b43-a6a2-090df32ebb68\u0022,\u0022InternalName\u0022:\u0022ProgId\u0022,\u0022Title\u0022:\u0022ProgId\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022dddd2420-b270-4735-93b5-92b713d0944d\u0022,\u0022InternalName\u0022:\u0022ScopeId\u0022,\u0022Title\u0022:\u0022ScopeId\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002239360f11-34cf-4356-9945-25c44e68dade\u0022,\u0022InternalName\u0022:\u0022File_x0020_Type\u0022,\u0022Title\u0022:\u0022File Type\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u00224ef1b78f-fdba-48dc-b8ab-3fa06a0c9804\u0022,\u0022InternalName\u0022:\u0022HTML_x0020_File_x0020_Type\u0022,\u0022Title\u0022:\u0022HTML File Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00223c6303be-e21f-4366-80d7-d6d0a3b22c7a\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableStart\u0022,\u0022Title\u0022:\u0022Edit Menu Table Start\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00221344423c-c7f9-4134-88e4-ad842e2d723c\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableStart2\u0022,\u0022Title\u0022:\u0022Edit Menu Table Start\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00222ea78cef-1bf9-4019-960a-02c41636cb47\u0022,\u0022InternalName\u0022:\u0022_EditMenuTableEnd\u0022,\u0022Title\u0022:\u0022Edit Menu Table End\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00229d30f126-ba48-446b-b8f9-83745f322ebe\u0022,\u0022InternalName\u0022:\u0022LinkFilenameNoMenu\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00225cc6dc79-3710-4374-b433-61cb4a686c12\u0022,\u0022InternalName\u0022:\u0022LinkFilename\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022224ba411-da77-4050-b0eb-62d422f13d3e\u0022,\u0022InternalName\u0022:\u0022LinkFilename2\u0022,\u0022Title\u0022:\u0022Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022081c6e4c-5c14-4f20-b23e-1a71ceb6a67c\u0022,\u0022InternalName\u0022:\u0022DocIcon\u0022,\u0022Title\u0022:\u0022Type\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022105f76ce-724a-4bba-aece-f81f2fce58f5\u0022,\u0022InternalName\u0022:\u0022ServerUrl\u0022,\u0022Title\u0022:\u0022Server Relative URL\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00227177cfc7-f399-4d4d-905d-37dd51bc90bf\u0022,\u0022InternalName\u0022:\u0022EncodedAbsUrl\u0022,\u0022Title\u0022:\u0022Encoded Absolute URL\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u00227615464b-559e-4302-b8e2-8f440b913101\u0022,\u0022InternalName\u0022:\u0022BaseName\u0022,\u0022Title\u0022:\u0022File Name\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022687c7f94-686a-42d3-9b67-2782eac4b4f8\u0022,\u0022InternalName\u0022:\u0022MetaInfo\u0022,\u0022Title\u0022:\u0022Property Bag\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002243bdd51b-3c5b-4e78-90a8-fb2087f71e70\u0022,\u0022InternalName\u0022:\u0022_Level\u0022,\u0022Title\u0022:\u0022Level\u0022,\u0022FieldTypeKind\u0022:1,\u0022TypeAsString\u0022:\u0022Integer\u0022},{\u0022Id\u0022:\u0022c101c3e7-122d-4d4d-bc34-58e94a38c816\u0022,\u0022InternalName\u0022:\u0022_IsCurrentVersion\u0022,\u0022Title\u0022:\u0022Is Current Version\u0022,\u0022FieldTypeKind\u0022:8,\u0022TypeAsString\u0022:\u0022Boolean\u0022},{\u0022Id\u0022:\u0022b824e17e-a1b3-426e-aecf-f0184d900485\u0022,\u0022InternalName\u0022:\u0022ItemChildCount\u0022,\u0022Title\u0022:\u0022Item Child Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022960ff01f-2b6d-4f1b-9c3f-e19ad8927341\u0022,\u0022InternalName\u0022:\u0022FolderChildCount\u0022,\u0022Title\u0022:\u0022Folder Child Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022786099e5-d20a-4232-86e5-cfc3d6face96\u0022,\u0022InternalName\u0022:\u0022Restricted\u0022,\u0022Title\u0022:\u0022Restricted\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002214ee99cd-bed9-474a-bf99-8f753fbad6b4\u0022,\u0022InternalName\u0022:\u0022OriginatorId\u0022,\u0022Title\u0022:\u0022Originator Id\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00220b16648a-daff-47d4-9fda-c6038b75ed27\u0022,\u0022InternalName\u0022:\u0022NoExecute\u0022,\u0022Title\u0022:\u0022NoExecute\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d48268e5-c65d-486c-bbf1-874cf986d7d3\u0022,\u0022InternalName\u0022:\u0022ContentVersion\u0022,\u0022Title\u0022:\u0022Content Version\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022ccc1037f-f65e-434a-868e-8c98af31fe29\u0022,\u0022InternalName\u0022:\u0022_ComplianceFlags\u0022,\u0022Title\u0022:\u0022Label setting\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d4b6480a-4bed-4094-9a52-30181ea38f1d\u0022,\u0022InternalName\u0022:\u0022_ComplianceTag\u0022,\u0022Title\u0022:\u0022Retention label\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002292be610e-ddbb-49f4-b3b1-5c2bc768df8f\u0022,\u0022InternalName\u0022:\u0022_ComplianceTagWrittenTime\u0022,\u0022Title\u0022:\u0022Retention label Applied\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022418d7676-2d6f-42cf-a16a-e43d2971252a\u0022,\u0022InternalName\u0022:\u0022_ComplianceTagUserId\u0022,\u0022Title\u0022:\u0022Label applied by\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00228382d247-72a9-44b1-9794-7b177edc89f3\u0022,\u0022InternalName\u0022:\u0022_IsRecord\u0022,\u0022Title\u0022:\u0022Item is a Record\u0022,\u0022FieldTypeKind\u0022:12,\u0022TypeAsString\u0022:\u0022Computed\u0022},{\u0022Id\u0022:\u0022b4cb04e8-622e-4c7d-8e87-b558a1bb907b\u0022,\u0022InternalName\u0022:\u0022AccessPolicy\u0022,\u0022Title\u0022:\u0022Access Policy\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022df7ffe41-81d6-46eb-8777-444d1613c803\u0022,\u0022InternalName\u0022:\u0022_VirusStatus\u0022,\u0022Title\u0022:\u0022VirusStatus\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u002232d407ed-15e1-4ccc-b1d4-c56f5799b256\u0022,\u0022InternalName\u0022:\u0022_VirusVendorID\u0022,\u0022Title\u0022:\u0022VirusVendorID\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022c4b1727e-aca8-4bd8-ae83-f554ae3c08eb\u0022,\u0022InternalName\u0022:\u0022_VirusInfo\u0022,\u0022Title\u0022:\u0022VirusInfo\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00226bfaba20-36bf-44b5-a1b2-eb6346d49716\u0022,\u0022InternalName\u0022:\u0022AppAuthor\u0022,\u0022Title\u0022:\u0022App Created By\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022e08400f3-c779-4ed2-a18c-ab7f34caa318\u0022,\u0022InternalName\u0022:\u0022AppEditor\u0022,\u0022Title\u0022:\u0022App Modified By\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00224df6bfaf-f887-424e-8ea3-fd050113e7a9\u0022,\u0022InternalName\u0022:\u0022SMTotalSize\u0022,\u0022Title\u0022:\u0022Total Size\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d340fca5-f503-4baa-bae9-90f1447ebff6\u0022,\u0022InternalName\u0022:\u0022SMLastModifiedDate\u0022,\u0022Title\u0022:\u0022Last Modified Date\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00221faa4902-9115-44b9-bba7-791441ca1d6f\u0022,\u0022InternalName\u0022:\u0022SMTotalFileStreamSize\u0022,\u0022Title\u0022:\u0022Total File Stream Size\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022a261b12a-8ca2-47fa-a117-05861d637c7e\u0022,\u0022InternalName\u0022:\u0022SMTotalFileCount\u0022,\u0022Title\u0022:\u0022Total File Count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u00223a6b296c-3f50-445c-a13f-9c679ea9dda3\u0022,\u0022InternalName\u0022:\u0022ComplianceAssetId\u0022,\u0022Title\u0022:\u0022Compliance Asset Id\u0022,\u0022FieldTypeKind\u0022:2,\u0022TypeAsString\u0022:\u0022Text\u0022},{\u0022Id\u0022:\u0022c274cbfd-084a-4017-925f-cce50c9e3eec\u0022,\u0022InternalName\u0022:\u0022_CommentFlags\u0022,\u0022Title\u0022:\u0022Comment settings\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022},{\u0022Id\u0022:\u0022d307dff3-340f-44a2-9f4b-fbfe1ba07459\u0022,\u0022InternalName\u0022:\u0022_CommentCount\u0022,\u0022Title\u0022:\u0022Comment count\u0022,\u0022FieldTypeKind\u0022:7,\u0022TypeAsString\u0022:\u0022Lookup\u0022}],\u0022Id\u0022:\u002218b001ac-3222-4436-86e6-71a099ae20e6\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00005.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00005.response.json new file mode 100644 index 0000000000..520511ba75 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00005.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"199452a0-6081-4000-9414-dfe03f8fb9ab","SPClientServiceRequestDuration":"13","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022Id\u0022:13,\u0022IsHiddenInUI\u0022:false,\u0022LoginName\u0022:\u0022i:0#.f|membership|adelev@mathijsdev2.onmicrosoft.com\u0022,\u0022Title\u0022:\u0022Adele Vance\u0022,\u0022PrincipalType\u0022:1,\u0022Email\u0022:\u0022AdeleV@mathijsdev2.onmicrosoft.com\u0022,\u0022Expiration\u0022:\u0022\u0022,\u0022IsEmailAuthenticationGuestUser\u0022:false,\u0022IsShareByEmailGuestUser\u0022:false,\u0022IsSiteAdmin\u0022:false,\u0022UserId\u0022:{\u0022NameId\u0022:\u0022100320009d80e5de\u0022,\u0022NameIdIssuer\u0022:\u0022urn:federation:microsoftonline\u0022},\u0022UserPrincipalName\u0022:\u0022adelev@mathijsdev2.onmicrosoft.com\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00006.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00006.response.json new file mode 100644 index 0000000000..9cb8576675 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00006.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"199452a0-a085-4000-9414-d0635c2f6113","SPClientServiceRequestDuration":"38","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022High\u0022:\u0022944\u0022,\u0022Low\u0022:\u00221011030767\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00007.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00007.response.json new file mode 100644 index 0000000000..425c5d8196 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListItemTests/GetEffectiveUserPermissionsAsyncTest-0-00007.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"199452a0-a08b-4000-d0bb-fa4f95d2d4d3","SPClientServiceRequestDuration":"51","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":""} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..095722f365 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"8d9252a0-e05b-4000-9414-d81d57228861","SPClientServiceRequestDuration":"11","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..da8af34f35 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"8d9252a0-e075-4000-aec7-4d0acddbabcb","SPClientServiceRequestDuration":"10","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..b8ba25bc6f --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"8d9252a0-9082-4000-aec7-4418a07f42c2","SPClientServiceRequestDuration":"26","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022AllowContentTypes\u0022:true,\u0022BaseTemplate\u0022:101,\u0022BaseType\u0022:1,\u0022ContentTypesEnabled\u0022:false,\u0022CrawlNonDefaultViews\u0022:false,\u0022Created\u0022:\u00222022-03-06T01:58:24Z\u0022,\u0022CurrentChangeToken\u0022:{\u0022StringValue\u0022:\u00221;3;68e9c7c6-94e1-4422-9eef-ca5a274ee7c6;637938397884870000;514050078\u0022},\u0022DefaultContentApprovalWorkflowId\u0022:\u002200000000-0000-0000-0000-000000000000\u0022,\u0022DefaultItemOpenUseListSetting\u0022:false,\u0022Description\u0022:\u0022\u0022,\u0022Direction\u0022:\u0022none\u0022,\u0022DisableCommenting\u0022:false,\u0022DisableGridEditing\u0022:false,\u0022DocumentTemplateUrl\u0022:\u0022/sites/pnpcoresdktestgroup/Shared Documents/Forms/template.dotx\u0022,\u0022DraftVersionVisibility\u0022:0,\u0022EnableAttachments\u0022:false,\u0022EnableFolderCreation\u0022:true,\u0022EnableMinorVersions\u0022:false,\u0022EnableModeration\u0022:false,\u0022EnableRequestSignOff\u0022:true,\u0022EnableVersioning\u0022:true,\u0022EntityTypeName\u0022:\u0022Shared_x0020_Documents\u0022,\u0022ExemptFromBlockDownloadOfNonViewableFiles\u0022:false,\u0022FileSavePostProcessingEnabled\u0022:false,\u0022ForceCheckout\u0022:false,\u0022HasExternalDataSource\u0022:false,\u0022Hidden\u0022:false,\u0022Id\u0022:\u002268e9c7c6-94e1-4422-9eef-ca5a274ee7c6\u0022,\u0022ImagePath\u0022:{\u0022DecodedUrl\u0022:\u0022/_layouts/15/images/itdl.png?rev=47\u0022},\u0022ImageUrl\u0022:\u0022/_layouts/15/images/itdl.png?rev=47\u0022,\u0022DefaultSensitivityLabelForLibrary\u0022:\u0022\u0022,\u0022IrmEnabled\u0022:false,\u0022IrmExpire\u0022:false,\u0022IrmReject\u0022:false,\u0022IsApplicationList\u0022:false,\u0022IsCatalog\u0022:false,\u0022IsPrivate\u0022:false,\u0022ItemCount\u0022:6,\u0022LastItemDeletedDate\u0022:\u00222022-07-15T13:39:22Z\u0022,\u0022LastItemModifiedDate\u0022:\u00222022-07-15T14:23:19Z\u0022,\u0022LastItemUserModifiedDate\u0022:\u00222022-07-15T14:13:42Z\u0022,\u0022ListExperienceOptions\u0022:1,\u0022ListItemEntityTypeFullName\u0022:\u0022SP.Data.Shared_x0020_DocumentsItem\u0022,\u0022MajorVersionLimit\u0022:500,\u0022MajorWithMinorVersionsLimit\u0022:0,\u0022MultipleDataList\u0022:false,\u0022NoCrawl\u0022:false,\u0022ParentWebPath\u0022:{\u0022DecodedUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022},\u0022ParentWebUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022,\u0022ParserDisabled\u0022:false,\u0022ServerTemplateCanCreateFolders\u0022:true,\u0022TemplateFeatureId\u0022:\u002200bfea71-e717-4e80-aa17-d0c71b360101\u0022,\u0022Title\u0022:\u0022Documents\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json new file mode 100644 index 0000000000..43d8a035b1 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"8d9252a0-f08e-4000-aec7-466be6ef903f","SPClientServiceRequestDuration":"16","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022Id\u0022:13,\u0022IsHiddenInUI\u0022:false,\u0022LoginName\u0022:\u0022i:0#.f|membership|adelev@mathijsdev2.onmicrosoft.com\u0022,\u0022Title\u0022:\u0022Adele Vance\u0022,\u0022PrincipalType\u0022:1,\u0022Email\u0022:\u0022AdeleV@mathijsdev2.onmicrosoft.com\u0022,\u0022Expiration\u0022:\u0022\u0022,\u0022IsEmailAuthenticationGuestUser\u0022:false,\u0022IsShareByEmailGuestUser\u0022:false,\u0022IsSiteAdmin\u0022:false,\u0022UserId\u0022:{\u0022NameId\u0022:\u0022100320009d80e5de\u0022,\u0022NameIdIssuer\u0022:\u0022urn:federation:microsoftonline\u0022},\u0022UserPrincipalName\u0022:\u0022adelev@mathijsdev2.onmicrosoft.com\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json new file mode 100644 index 0000000000..fb09351434 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsAsyncTest-0-00004.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"8d9252a0-3094-4000-aec7-456b71c58eff","SPClientServiceRequestDuration":"16","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022High\u0022:\u0022432\u0022,\u0022Low\u0022:\u00221011030767\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..6a10b16da6 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"589252a0-e0b5-4000-aec7-47491f868d8a","SPClientServiceRequestDuration":"12","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..e5b4948be1 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"589252a0-40cb-4000-9414-dba090cc4c79","SPClientServiceRequestDuration":"11","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..33aaabbf76 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"589252a0-60d6-4000-9414-d70063b34f09","SPClientServiceRequestDuration":"29","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022AllowContentTypes\u0022:true,\u0022BaseTemplate\u0022:101,\u0022BaseType\u0022:1,\u0022ContentTypesEnabled\u0022:false,\u0022CrawlNonDefaultViews\u0022:false,\u0022Created\u0022:\u00222022-03-06T01:58:24Z\u0022,\u0022CurrentChangeToken\u0022:{\u0022StringValue\u0022:\u00221;3;68e9c7c6-94e1-4422-9eef-ca5a274ee7c6;637938395744100000;514048955\u0022},\u0022DefaultContentApprovalWorkflowId\u0022:\u002200000000-0000-0000-0000-000000000000\u0022,\u0022DefaultItemOpenUseListSetting\u0022:false,\u0022Description\u0022:\u0022\u0022,\u0022Direction\u0022:\u0022none\u0022,\u0022DisableCommenting\u0022:false,\u0022DisableGridEditing\u0022:false,\u0022DocumentTemplateUrl\u0022:\u0022/sites/pnpcoresdktestgroup/Shared Documents/Forms/template.dotx\u0022,\u0022DraftVersionVisibility\u0022:0,\u0022EnableAttachments\u0022:false,\u0022EnableFolderCreation\u0022:true,\u0022EnableMinorVersions\u0022:false,\u0022EnableModeration\u0022:false,\u0022EnableRequestSignOff\u0022:true,\u0022EnableVersioning\u0022:true,\u0022EntityTypeName\u0022:\u0022Shared_x0020_Documents\u0022,\u0022ExemptFromBlockDownloadOfNonViewableFiles\u0022:false,\u0022FileSavePostProcessingEnabled\u0022:false,\u0022ForceCheckout\u0022:false,\u0022HasExternalDataSource\u0022:false,\u0022Hidden\u0022:false,\u0022Id\u0022:\u002268e9c7c6-94e1-4422-9eef-ca5a274ee7c6\u0022,\u0022ImagePath\u0022:{\u0022DecodedUrl\u0022:\u0022/_layouts/15/images/itdl.png?rev=47\u0022},\u0022ImageUrl\u0022:\u0022/_layouts/15/images/itdl.png?rev=47\u0022,\u0022DefaultSensitivityLabelForLibrary\u0022:\u0022\u0022,\u0022IrmEnabled\u0022:false,\u0022IrmExpire\u0022:false,\u0022IrmReject\u0022:false,\u0022IsApplicationList\u0022:false,\u0022IsCatalog\u0022:false,\u0022IsPrivate\u0022:false,\u0022ItemCount\u0022:6,\u0022LastItemDeletedDate\u0022:\u00222022-07-15T13:39:22Z\u0022,\u0022LastItemModifiedDate\u0022:\u00222022-07-15T14:23:19Z\u0022,\u0022LastItemUserModifiedDate\u0022:\u00222022-07-15T14:13:42Z\u0022,\u0022ListExperienceOptions\u0022:1,\u0022ListItemEntityTypeFullName\u0022:\u0022SP.Data.Shared_x0020_DocumentsItem\u0022,\u0022MajorVersionLimit\u0022:500,\u0022MajorWithMinorVersionsLimit\u0022:0,\u0022MultipleDataList\u0022:false,\u0022NoCrawl\u0022:false,\u0022ParentWebPath\u0022:{\u0022DecodedUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022},\u0022ParentWebUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022,\u0022ParserDisabled\u0022:false,\u0022ServerTemplateCanCreateFolders\u0022:true,\u0022TemplateFeatureId\u0022:\u002200bfea71-e717-4e80-aa17-d0c71b360101\u0022,\u0022Title\u0022:\u0022Documents\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..3f41d56de4 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"539252a0-90ab-4000-9414-d7ede9f7bc6a","SPClientServiceRequestDuration":"10","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..37917ac467 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"539252a0-20b7-4000-9414-debdb474cdbe","SPClientServiceRequestDuration":"12","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..65b32cf402 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"539252a0-e0c0-4000-9414-dbab67ec8acc","SPClientServiceRequestDuration":"41","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022AllowContentTypes\u0022:true,\u0022BaseTemplate\u0022:101,\u0022BaseType\u0022:1,\u0022ContentTypesEnabled\u0022:false,\u0022CrawlNonDefaultViews\u0022:false,\u0022Created\u0022:\u00222022-03-06T01:58:24Z\u0022,\u0022CurrentChangeToken\u0022:{\u0022StringValue\u0022:\u00221;3;68e9c7c6-94e1-4422-9eef-ca5a274ee7c6;637938395535600000;514048801\u0022},\u0022DefaultContentApprovalWorkflowId\u0022:\u002200000000-0000-0000-0000-000000000000\u0022,\u0022DefaultItemOpenUseListSetting\u0022:false,\u0022Description\u0022:\u0022\u0022,\u0022Direction\u0022:\u0022none\u0022,\u0022DisableCommenting\u0022:false,\u0022DisableGridEditing\u0022:false,\u0022DocumentTemplateUrl\u0022:\u0022/sites/pnpcoresdktestgroup/Shared Documents/Forms/template.dotx\u0022,\u0022DraftVersionVisibility\u0022:0,\u0022EnableAttachments\u0022:false,\u0022EnableFolderCreation\u0022:true,\u0022EnableMinorVersions\u0022:false,\u0022EnableModeration\u0022:false,\u0022EnableRequestSignOff\u0022:true,\u0022EnableVersioning\u0022:true,\u0022EntityTypeName\u0022:\u0022Shared_x0020_Documents\u0022,\u0022ExemptFromBlockDownloadOfNonViewableFiles\u0022:false,\u0022FileSavePostProcessingEnabled\u0022:false,\u0022ForceCheckout\u0022:false,\u0022HasExternalDataSource\u0022:false,\u0022Hidden\u0022:false,\u0022Id\u0022:\u002268e9c7c6-94e1-4422-9eef-ca5a274ee7c6\u0022,\u0022ImagePath\u0022:{\u0022DecodedUrl\u0022:\u0022/_layouts/15/images/itdl.png?rev=47\u0022},\u0022ImageUrl\u0022:\u0022/_layouts/15/images/itdl.png?rev=47\u0022,\u0022DefaultSensitivityLabelForLibrary\u0022:\u0022\u0022,\u0022IrmEnabled\u0022:false,\u0022IrmExpire\u0022:false,\u0022IrmReject\u0022:false,\u0022IsApplicationList\u0022:false,\u0022IsCatalog\u0022:false,\u0022IsPrivate\u0022:false,\u0022ItemCount\u0022:6,\u0022LastItemDeletedDate\u0022:\u00222022-07-15T13:39:22Z\u0022,\u0022LastItemModifiedDate\u0022:\u00222022-07-15T14:23:19Z\u0022,\u0022LastItemUserModifiedDate\u0022:\u00222022-07-15T14:13:42Z\u0022,\u0022ListExperienceOptions\u0022:1,\u0022ListItemEntityTypeFullName\u0022:\u0022SP.Data.Shared_x0020_DocumentsItem\u0022,\u0022MajorVersionLimit\u0022:500,\u0022MajorWithMinorVersionsLimit\u0022:0,\u0022MultipleDataList\u0022:false,\u0022NoCrawl\u0022:false,\u0022ParentWebPath\u0022:{\u0022DecodedUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022},\u0022ParentWebUrl\u0022:\u0022/sites/pnpcoresdktestgroup\u0022,\u0022ParserDisabled\u0022:false,\u0022ServerTemplateCanCreateFolders\u0022:true,\u0022TemplateFeatureId\u0022:\u002200bfea71-e717-4e80-aa17-d0c71b360101\u0022,\u0022Title\u0022:\u0022Documents\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json new file mode 100644 index 0000000000..8ffab37778 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"539252a0-20c8-4000-aec7-492587a2bc45","SPClientServiceRequestDuration":"14","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022Id\u0022:13,\u0022IsHiddenInUI\u0022:false,\u0022LoginName\u0022:\u0022i:0#.f|membership|adelev@mathijsdev2.onmicrosoft.com\u0022,\u0022Title\u0022:\u0022Adele Vance\u0022,\u0022PrincipalType\u0022:1,\u0022Email\u0022:\u0022AdeleV@mathijsdev2.onmicrosoft.com\u0022,\u0022Expiration\u0022:\u0022\u0022,\u0022IsEmailAuthenticationGuestUser\u0022:false,\u0022IsShareByEmailGuestUser\u0022:false,\u0022IsSiteAdmin\u0022:false,\u0022UserId\u0022:{\u0022NameId\u0022:\u0022100320009d80e5de\u0022,\u0022NameIdIssuer\u0022:\u0022urn:federation:microsoftonline\u0022},\u0022UserPrincipalName\u0022:\u0022adelev@mathijsdev2.onmicrosoft.com\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json new file mode 100644 index 0000000000..b666de6cf8 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/ListTests/GetEffectiveUserPermissionsAsyncTest-0-00004.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"539252a0-30cc-4000-aec7-464361ea4ad5","SPClientServiceRequestDuration":"22","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022High\u0022:\u0022432\u0022,\u0022Low\u0022:\u00221011030767\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..e0a8c8ff12 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"6f9252a0-e067-4000-aec7-45d408692673","SPClientServiceRequestDuration":"13","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..9fbd77297d --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"6f9252a0-e074-4000-9414-d66c3629fa42","SPClientServiceRequestDuration":"12","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..7c90ac95f4 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"6f9252a0-007c-4000-d0bb-fd545a9ca4e3","SPClientServiceRequestDuration":"16","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022Id\u0022:13,\u0022IsHiddenInUI\u0022:false,\u0022LoginName\u0022:\u0022i:0#.f|membership|adelev@mathijsdev2.onmicrosoft.com\u0022,\u0022Title\u0022:\u0022Adele Vance\u0022,\u0022PrincipalType\u0022:1,\u0022Email\u0022:\u0022AdeleV@mathijsdev2.onmicrosoft.com\u0022,\u0022Expiration\u0022:\u0022\u0022,\u0022IsEmailAuthenticationGuestUser\u0022:false,\u0022IsShareByEmailGuestUser\u0022:false,\u0022IsSiteAdmin\u0022:false,\u0022UserId\u0022:{\u0022NameId\u0022:\u0022100320009d80e5de\u0022,\u0022NameIdIssuer\u0022:\u0022urn:federation:microsoftonline\u0022},\u0022UserPrincipalName\u0022:\u0022adelev@mathijsdev2.onmicrosoft.com\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json new file mode 100644 index 0000000000..d0530a0ab5 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsAsyncTest-0-00003.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"6f9252a0-7080-4000-aec7-45254e83fced","SPClientServiceRequestDuration":"54","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022High\u0022:\u0022944\u0022,\u0022Low\u0022:\u00221011030767\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..e431d0705e --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"6c9252a0-3082-4000-9414-d4bc454dc4f3","SPClientServiceRequestDuration":"62","X-SharePointHealthScore":"2","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..55292b37b0 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/CheckIfUserHasPermissionsExceptionAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"6c9252a0-d093-4000-aec7-42d115008cf8","SPClientServiceRequestDuration":"9","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json new file mode 100644 index 0000000000..c18df3f2a2 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00000.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"759252a0-00d2-4000-aec7-4f9e7a6f2cfc","SPClientServiceRequestDuration":"11","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022RegionalSettings\u0022:{\u0022TimeZone\u0022:{\u0022Description\u0022:\u0022(UTC-08:00) Pacific Time (US and Canada)\u0022,\u0022Id\u0022:13,\u0022Information\u0022:{\u0022Bias\u0022:480,\u0022DaylightBias\u0022:-60,\u0022StandardBias\u0022:0}},\u0022AdjustHijriDays\u0022:0,\u0022AlternateCalendarType\u0022:0,\u0022AM\u0022:\u0022AM\u0022,\u0022CalendarType\u0022:1,\u0022Collation\u0022:25,\u0022CollationLCID\u0022:2070,\u0022DateFormat\u0022:0,\u0022DateSeparator\u0022:\u0022/\u0022,\u0022DecimalSeparator\u0022:\u0022.\u0022,\u0022DigitGrouping\u0022:\u00223;0\u0022,\u0022FirstDayOfWeek\u0022:0,\u0022FirstWeekOfYear\u0022:0,\u0022IsEastAsia\u0022:false,\u0022IsRightToLeft\u0022:false,\u0022IsUIRightToLeft\u0022:false,\u0022ListSeparator\u0022:\u0022,\u0022,\u0022LocaleId\u0022:1033,\u0022NegativeSign\u0022:\u0022-\u0022,\u0022NegNumberMode\u0022:1,\u0022PM\u0022:\u0022PM\u0022,\u0022PositiveSign\u0022:\u0022\u0022,\u0022ShowWeeks\u0022:false,\u0022ThousandSeparator\u0022:\u0022,\u0022,\u0022Time24\u0022:false,\u0022TimeMarkerPosition\u0022:0,\u0022TimeSeparator\u0022:\u0022:\u0022,\u0022WorkDayEndHour\u0022:1020,\u0022WorkDays\u0022:62,\u0022WorkDayStartHour\u0022:480},\u0022Id\u0022:\u0022ceb5fd80-a434-4a62-a60b-b272f10ba1df\u0022,\u0022Url\u0022:\u0022https://mathijsdev2.sharepoint.com/sites/pnpcoresdktestgroup\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json new file mode 100644 index 0000000000..62e39fbc6d --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00001.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"759252a0-b0e6-4000-9414-dd61b285e6cd","SPClientServiceRequestDuration":"11","X-SharePointHealthScore":"3","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022GroupId\u0022:\u00220ad55b5d-6a79-467b-ad21-d4bef7948a79\u0022,\u0022Id\u0022:\u00220f9b8f4f-0e8e-4630-bb0a-501442db9b64\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json new file mode 100644 index 0000000000..0e70420be6 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00002.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"759252a0-00f0-4000-d0bb-fee5280f4e99","SPClientServiceRequestDuration":"18","X-SharePointHealthScore":"0","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022value\u0022:[{\u0022Id\u0022:13,\u0022IsHiddenInUI\u0022:false,\u0022LoginName\u0022:\u0022i:0#.f|membership|adelev@mathijsdev2.onmicrosoft.com\u0022,\u0022Title\u0022:\u0022Adele Vance\u0022,\u0022PrincipalType\u0022:1,\u0022Email\u0022:\u0022AdeleV@mathijsdev2.onmicrosoft.com\u0022,\u0022Expiration\u0022:\u0022\u0022,\u0022IsEmailAuthenticationGuestUser\u0022:false,\u0022IsShareByEmailGuestUser\u0022:false,\u0022IsSiteAdmin\u0022:false,\u0022UserId\u0022:{\u0022NameId\u0022:\u0022100320009d80e5de\u0022,\u0022NameIdIssuer\u0022:\u0022urn:federation:microsoftonline\u0022},\u0022UserPrincipalName\u0022:\u0022adelev@mathijsdev2.onmicrosoft.com\u0022}]}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json new file mode 100644 index 0000000000..4feade7119 --- /dev/null +++ b/src/sdk/PnP.Core.Test/SharePoint/MockData/WebTests/GetEffectiveUserPermissionsAsyncTest-0-00003.response.json @@ -0,0 +1 @@ +{"IsSuccessStatusCode":true,"StatusCode":200,"Headers":{"SPRequestGuid":"759252a0-90f5-4000-9414-dfb5db7dbfb1","SPClientServiceRequestDuration":"19","X-SharePointHealthScore":"1","X-SP-SERVERSTATE":"ReadOnly=0"},"Response":"{\u0022High\u0022:\u0022944\u0022,\u0022Low\u0022:\u00221011030767\u0022}"} \ No newline at end of file diff --git a/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs b/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs index 0f99103783..e1003628cb 100644 --- a/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs +++ b/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs @@ -1987,5 +1987,53 @@ public async Task GetWssIdForTermTest() } } #endregion + + #region Effective User Permissions + + #region Effective user permissions + + [TestMethod] + public async Task GetEffectiveUserPermissionsAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var siteUser = await context.Web.SiteUsers.FirstOrDefaultAsync(y => y.PrincipalType == Model.Security.PrincipalType.User); + + var basePermissions = await context.Web.GetUserEffectivePermissionsAsync(siteUser.UserPrincipalName); + + Assert.IsNotNull(basePermissions); + } + } + + + [TestMethod] + public async Task CheckIfUserHasPermissionsAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var siteUser = await context.Web.SiteUsers.FirstOrDefaultAsync(y => y.PrincipalType == Model.Security.PrincipalType.User); + + var hasPermissions = await context.Web.CheckIfUserHasPermissionsAsync(siteUser.UserPrincipalName, PermissionKind.AddListItems); + + Assert.IsNotNull(hasPermissions); + } + } + + [ExpectedException(typeof(ArgumentNullException))] + [TestMethod] + public async Task CheckIfUserHasPermissionsExceptionAsyncTest() + { + //TestCommon.Instance.Mocking = false; + using (var context = await TestCommon.Instance.GetContextAsync(TestCommon.TestSite)) + { + var hasPermissions = await context.Web.CheckIfUserHasPermissionsAsync(null, PermissionKind.AddListItems); + } + } + + #endregion + + #endregion } } diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/EffectivePermissionsHandler.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/EffectivePermissionsHandler.cs new file mode 100644 index 0000000000..0399b7842d --- /dev/null +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/EffectivePermissionsHandler.cs @@ -0,0 +1,26 @@ +using System; +using System.Text.Json; + +namespace PnP.Core.Model.SharePoint +{ + internal class EffectivePermissionsHandler + { + internal static IBasePermissions ParseGetUserEffectivePermissionsResponse(string json) + { + var parsedJson = JsonSerializer.Deserialize(json); + var basePermissions = new BasePermissions(); + + if (parsedJson.TryGetProperty("High", out JsonElement high)) + { + basePermissions.High = Convert.ToInt64(high.GetString()); + } + + if (parsedJson.TryGetProperty("Low", out JsonElement low)) + { + basePermissions.Low = Convert.ToInt64(low.GetString()); + } + + return basePermissions; + } + } +} diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs index 081f3bac49..e6e06e0fec 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/List.cs @@ -10,6 +10,7 @@ using System.Text.Json; using System.Text.RegularExpressions; using System.Threading.Tasks; +using System.Web; using System.Xml; namespace PnP.Core.Model.SharePoint @@ -1376,21 +1377,44 @@ public async Task> FindFilesAsync(string match) #region User effective permissions - public void GetUserEffectivePermissions(string userPrincipalName) + public IBasePermissions GetUserEffectivePermissions(string userPrincipalName) { - GetUserEffectivePermissionsAsync(userPrincipalName).GetAwaiter().GetResult(); + return GetUserEffectivePermissionsAsync(userPrincipalName).GetAwaiter().GetResult(); } - public async Task GetUserEffectivePermissionsAsync(string userPrincipalName) + public async Task GetUserEffectivePermissionsAsync(string userPrincipalName) { + if (string.IsNullOrEmpty(userPrincipalName)) + { + throw new ArgumentNullException(PnPCoreResources.Exception_UserPrincipalNameEmpty); + } + var apiCall = BuildGetUserEffectivePermissionsApiCall(userPrincipalName); var response = await RawRequestAsync(apiCall, HttpMethod.Get).ConfigureAwait(false); + + if (string.IsNullOrEmpty(response.Json)) + { + throw new Exception(PnPCoreResources.Exception_EffectivePermissionsNotFound); + } + + return EffectivePermissionsHandler.ParseGetUserEffectivePermissionsResponse(response.Json); } private ApiCall BuildGetUserEffectivePermissionsApiCall(string userPrincipalName) { - return new ApiCall($"_api/web/lists(guid'{Id}')/getusereffectivepermissions(\"i:0#.f|membership|{userPrincipalName}\")", ApiType.SPORest); + return new ApiCall($"_api/web/lists(guid'{Id}')/getusereffectivepermissions('{HttpUtility.UrlEncode("i:0#.f|membership|")}{userPrincipalName}')", ApiType.SPORest); + } + + public bool CheckIfUserHasPermissions(string userPrincipalName, PermissionKind permissionKind) + { + return CheckIfUserHasPermissionsAsync(userPrincipalName, permissionKind).GetAwaiter().GetResult(); + } + + public async Task CheckIfUserHasPermissionsAsync(string userPrincipalName, PermissionKind permissionKind) + { + var basePermissions = await GetUserEffectivePermissionsAsync(userPrincipalName).ConfigureAwait(false); + return basePermissions.Has(permissionKind); } #endregion diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/ListItem.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/ListItem.cs index b59b8741a2..77494bebca 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/ListItem.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/ListItem.cs @@ -16,6 +16,7 @@ using System.Text; using System.Text.Json; using System.Threading.Tasks; +using System.Web; namespace PnP.Core.Model.SharePoint { @@ -1616,6 +1617,52 @@ private async Task LikeUnlike(bool like) #endregion + #region User effective permissions + + public IBasePermissions GetUserEffectivePermissions(string userPrincipalName) + { + return GetUserEffectivePermissionsAsync(userPrincipalName).GetAwaiter().GetResult(); + } + + public async Task GetUserEffectivePermissionsAsync(string userPrincipalName) + { + if (string.IsNullOrEmpty(userPrincipalName)) + { + throw new ArgumentNullException(PnPCoreResources.Exception_UserPrincipalNameEmpty); + } + + var apiCall = BuildGetUserEffectivePermissionsApiCall(userPrincipalName); + + var response = await RawRequestAsync(apiCall, HttpMethod.Get).ConfigureAwait(false); + + if (string.IsNullOrEmpty(response.Json)) + { + throw new Exception(PnPCoreResources.Exception_EffectivePermissionsNotFound); + } + + return EffectivePermissionsHandler.ParseGetUserEffectivePermissionsResponse(response.Json); + } + + private ApiCall BuildGetUserEffectivePermissionsApiCall(string userPrincipalName) + { + var parentList = Parent.Parent as List; + + return new ApiCall($"_api/web/lists(guid'{parentList.Id}')/items({Id})/getusereffectivepermissions('{HttpUtility.UrlEncode("i:0#.f|membership|")}{userPrincipalName}')", ApiType.SPORest); + } + + public bool CheckIfUserHasPermissions(string userPrincipalName, PermissionKind permissionKind) + { + return CheckIfUserHasPermissionsAsync(userPrincipalName, permissionKind).GetAwaiter().GetResult(); + } + + public async Task CheckIfUserHasPermissionsAsync(string userPrincipalName, PermissionKind permissionKind) + { + var basePermissions = await GetUserEffectivePermissionsAsync(userPrincipalName).ConfigureAwait(false); + return basePermissions.Has(permissionKind); + } + + #endregion + #endregion } } diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/Web.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/Web.cs index 83dc5f870b..8e5ef06b16 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/Web.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Internal/Web.cs @@ -1929,6 +1929,50 @@ public int GetWssIdForTerm(string termId) #endregion + #region User effective permissions + + public IBasePermissions GetUserEffectivePermissions(string userPrincipalName) + { + return GetUserEffectivePermissionsAsync(userPrincipalName).GetAwaiter().GetResult(); + } + + public async Task GetUserEffectivePermissionsAsync(string userPrincipalName) + { + if (string.IsNullOrEmpty(userPrincipalName)) + { + throw new ArgumentNullException(PnPCoreResources.Exception_UserPrincipalNameEmpty); + } + + var apiCall = BuildGetUserEffectivePermissionsApiCall(userPrincipalName); + + var response = await RawRequestAsync(apiCall, HttpMethod.Get).ConfigureAwait(false); + + if (string.IsNullOrEmpty(response.Json)) + { + throw new Exception(PnPCoreResources.Exception_EffectivePermissionsNotFound); + } + + return EffectivePermissionsHandler.ParseGetUserEffectivePermissionsResponse(response.Json); + } + + private ApiCall BuildGetUserEffectivePermissionsApiCall(string userPrincipalName) + { + return new ApiCall($"_api/web/getusereffectivepermissions('{HttpUtility.UrlEncode("i:0#.f|membership|")}{userPrincipalName}')", ApiType.SPORest); + } + + public bool CheckIfUserHasPermissions(string userPrincipalName, PermissionKind permissionKind) + { + return CheckIfUserHasPermissionsAsync(userPrincipalName, permissionKind).GetAwaiter().GetResult(); + } + + public async Task CheckIfUserHasPermissionsAsync(string userPrincipalName, PermissionKind permissionKind) + { + var basePermissions = await GetUserEffectivePermissionsAsync(userPrincipalName).ConfigureAwait(false); + return basePermissions.Has(permissionKind); + } + + #endregion + #endregion } } diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs index daf70fe127..4065bc310f 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IList.cs @@ -748,17 +748,34 @@ public interface IList : IDataModel, IDataModelGet, IDataModelLoad Task> FindFilesAsync(string match); /// - /// + /// Gets the user effective permissions of a user for a list /// - /// - void GetUserEffectivePermissions(string userPrincipalName); + /// Login name of the user you wish to retrieve the permissions of + /// Base permissions object that contains the High and the Low permissions + IBasePermissions GetUserEffectivePermissions(string userPrincipalName); /// - /// + /// Gets the user effective permissions of a user for a list /// - /// - /// - Task GetUserEffectivePermissionsAsync(string userPrincipalName); + /// Login name of the user you wish to retrieve the permissions of + /// Base permissions object that contains the High and the Low permissions + Task GetUserEffectivePermissionsAsync(string userPrincipalName); + + /// + /// Checks if a user has a specific kind of permissions to a list + /// + /// Login name of the user you wish to check if he has a specific permission + /// Permission kind to check + /// Boolean that says if the user has permissions or not + bool CheckIfUserHasPermissions(string userPrincipalName, PermissionKind permissionKind); + + /// + /// Checks if a user has a specific kind of permissions to a list + /// + /// Login name of the user you wish to check if he has a specific permission + /// Permission kind to check + /// Boolean that says if the user has permissions or not + Task CheckIfUserHasPermissionsAsync(string userPrincipalName, PermissionKind permissionKind); #endregion } diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IListItem.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IListItem.cs index c2746e1d93..3b238031e0 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IListItem.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IListItem.cs @@ -528,6 +528,41 @@ public interface IListItem : IDataModel, IDataModelGet, ID /// Permission that has been created IGraphPermission CreateUserSharingLink(UserLinkOptions userLinkOptions); + #endregion + + #region Effective user permissions + + /// + /// Gets the user effective permissions of a user for a listitem + /// + /// Login name of the user you wish to retrieve the permissions of + /// Base permissions object that contains the High and the Low permissions + IBasePermissions GetUserEffectivePermissions(string userPrincipalName); + + /// + /// Gets the user effective permissions of a user for a listitem + /// + /// Login name of the user you wish to retrieve the permissions of + /// Base permissions object that contains the High and the Low permissions + Task GetUserEffectivePermissionsAsync(string userPrincipalName); + + /// + /// Checks if a user has a specific kind of permissions to a listitem + /// + /// Login name of the user you wish to check if he has a specific permission + /// Permission kind to check + /// Boolean that says if the user has permissions or not + bool CheckIfUserHasPermissions(string userPrincipalName, PermissionKind permissionKind); + + /// + /// Checks if a user has a specific kind of permissions to a listitem + /// + /// Login name of the user you wish to check if he has a specific permission + /// Permission kind to check + /// Boolean that says if the user has permissions or not + Task CheckIfUserHasPermissionsAsync(string userPrincipalName, PermissionKind permissionKind); + + #endregion #endregion diff --git a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IWeb.cs b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IWeb.cs index e934d9b398..325480b34e 100644 --- a/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IWeb.cs +++ b/src/sdk/PnP.Core/Model/SharePoint/Core/Public/IWeb.cs @@ -1346,6 +1346,40 @@ public interface IWeb : IDataModel, IDataModelGet, IDataModelLoad + /// Gets the user effective permissions of a user for a web + /// + /// Login name of the user you wish to retrieve the permissions of + /// Base permissions object that contains the High and the Low permissions + IBasePermissions GetUserEffectivePermissions(string userPrincipalName); + + /// + /// Gets the user effective permissions of a user for a web + /// + /// Login name of the user you wish to retrieve the permissions of + /// Base permissions object that contains the High and the Low permissions + Task GetUserEffectivePermissionsAsync(string userPrincipalName); + + /// + /// Checks if a user has a specific kind of permissions to a web + /// + /// Login name of the user you wish to check if he has a specific permission + /// Permission kind to check + /// Boolean that says if the user has permissions or not + bool CheckIfUserHasPermissions(string userPrincipalName, PermissionKind permissionKind); + + /// + /// Checks if a user has a specific kind of permissions to a web + /// + /// Login name of the user you wish to check if he has a specific permission + /// Permission kind to check + /// Boolean that says if the user has permissions or not + Task CheckIfUserHasPermissionsAsync(string userPrincipalName, PermissionKind permissionKind); + + #endregion + #endregion #region TO IMPLEMENT diff --git a/src/sdk/PnP.Core/PnPCoreResources.Designer.cs b/src/sdk/PnP.Core/PnPCoreResources.Designer.cs index 8ec64e27d8..fa49e38200 100644 --- a/src/sdk/PnP.Core/PnPCoreResources.Designer.cs +++ b/src/sdk/PnP.Core/PnPCoreResources.Designer.cs @@ -186,6 +186,15 @@ internal static string Exception_CSOM_MalformedDateTime { } } + /// + /// Looks up a localized string similar to Permissions for the user could not be found. + /// + internal static string Exception_EffectivePermissionsNotFound { + get { + return ResourceManager.GetString("Exception_EffectivePermissionsNotFound", resourceCulture); + } + } + /// /// Looks up a localized string similar to Feature was already activated. /// @@ -1095,6 +1104,15 @@ internal static string Exception_Unsupported_WebDeleteIsInteractive { } } + /// + /// Looks up a localized string similar to The user principal name can not be empty when obtaining user permissions. + /// + internal static string Exception_UserPrincipalNameEmpty { + get { + return ResourceManager.GetString("Exception_UserPrincipalNameEmpty", resourceCulture); + } + } + /// /// Looks up a localized string similar to A site template with the name {0} could not be found. /// diff --git a/src/sdk/PnP.Core/PnPCoreResources.resx b/src/sdk/PnP.Core/PnPCoreResources.resx index da1b96a554..6a5cdb730f 100644 --- a/src/sdk/PnP.Core/PnPCoreResources.resx +++ b/src/sdk/PnP.Core/PnPCoreResources.resx @@ -486,4 +486,10 @@ Sending a mail through 'Me' is only valid with delegated authentication flow + + Permissions for the user could not be found + + + The user principal name can not be empty when obtaining user permissions + \ No newline at end of file From 8a1aa21a1126337da4044c9aeaf4950ac80bf702 Mon Sep 17 00:00:00 2001 From: Mathijs Verbeeck Date: Tue, 19 Jul 2022 17:34:28 +0200 Subject: [PATCH 3/3] Noticed double "region User effective permissions" in test --- src/sdk/PnP.Core.Test/SharePoint/WebTests.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs b/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs index e1003628cb..ec5f06885a 100644 --- a/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs +++ b/src/sdk/PnP.Core.Test/SharePoint/WebTests.cs @@ -1988,8 +1988,6 @@ public async Task GetWssIdForTermTest() } #endregion - #region Effective User Permissions - #region Effective user permissions [TestMethod] @@ -2033,7 +2031,5 @@ public async Task CheckIfUserHasPermissionsExceptionAsyncTest() } #endregion - - #endregion } }