Skip to content

Commit 2bd3dc0

Browse files
authored
feat(sharepoint): pass through ACL permission metadata (#699)
## Summary - Extract SharePoint permission data from the Graph API and normalize to the standard `[{read: {users, groups}}, {update: ...}, {delete: ...}]` schema used by Google Drive and Confluence connectors. - Fetch permissions via Graph JSON batching (`/$batch`, up to 20 per round-trip) with automatic per-item fallback on batch failure. - Parse identities from raw `permission.properties` JSON to avoid cross-field data bleed in the office365 typed accessors. ## Details - Added `MICROSOFT_ROLE_MAPPING` covering Graph standard roles and SharePoint-specific `sp.*` roles. - Added `_extract_identity_ids_from_raw()` to pull Azure AD user/group IDs from `grantedToV2` (preferred) with `grantedTo` fallback. SharePoint `siteGroup` numeric IDs are excluded (not resolvable via Graph). - Added `extract_permissions()` to normalize raw Graph permissions into the canonical schema. - Added `_fetch_permissions_batched()` with queue-drain guard on batch failure and `ClientRequestException` handling per item in fallback. - Refactored `run_async` to window-and-yield in chunks of 20 instead of materializing the full file list. - 32 unit tests covering identity extraction, role mapping, batching, fallback, and edge cases. ## Limitations - Requires SharePoint Online (M365) with Azure AD OAuth. SharePoint Server on-prem is not supported (no Graph API). - Graph API does not support `$expand=permissions` on DriveItem collections, so permissions are fetched separately per batch. - ACL metadata is a best-effort snapshot; it is not runtime authorization. Closes PLU-331 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Touches SharePoint indexing flow and adds external Graph batching/fallback logic; failures could impact metadata completeness or indexing performance, though behavior is largely additive and covered by extensive tests. > > **Overview** > Adds **SharePoint ACL pass-through** by fetching Graph `DriveItem` permissions and normalizing them into the canonical `[{read},{update},{delete}]` `permissions_data` schema. > > Implements Graph `/$batch` permission hydration (20 items per batch) with a per-item fallback on batch failure, plus raw-JSON identity extraction and a `MICROSOFT_ROLE_MAPPING` to translate Microsoft/SharePoint roles into operations. Updates `run_async` to process files in permission-hydrated chunks, and extends unit + integration fixtures to validate deterministic, merged ACL output. > > Bumps package version to `1.5.0` and documents the enhancement in `CHANGELOG.md`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 7cb9a08. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent 6433ee5 commit 2bd3dc0

21 files changed

Lines changed: 1195 additions & 116 deletions

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## [1.5.0]
2+
3+
### Enhancements
4+
5+
- **feat(sharepoint): pass through ACL permission metadata.** Extract SharePoint permission data from the Graph API and normalize to the standard read/update/delete schema. Permissions are fetched via Graph JSON batching with per-item fallback on batch failure.
6+
17
## [1.4.29]
28

39
### Chores

test/integration/connectors/expected_results/sharepoint/file_data/01QKP26QZL5KBVQTQ3IRDYF72MRH2QKKR3.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@
3030
"reprocess": false,
3131
"local_download_path": "/private/var/folders/85/f389rtdn2c971nv4r3d31d740000gn/T/tmpxs1_nhhe/fake-memo.pdf",
3232
"display_name": null
33-
}
33+
}

test/integration/connectors/expected_results/sharepoint1/file_data/0153RHRSABDC6JJIUHKJF2C5ZFGJF3C6XJ.json

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,45 @@
1313
"user_pname": null,
1414
"server_relative_path": "/list-item-example.pdf"
1515
},
16-
"date_created": "1738353995.0",
17-
"date_modified": "1738353995.0",
18-
"date_processed": "1776016101.8820329",
19-
"permissions_data": null,
16+
"date_created": "1738364795.0",
17+
"date_modified": "1738364795.0",
18+
"date_processed": "1777426373.5540311",
19+
"permissions_data": [
20+
{
21+
"read": {
22+
"users": [
23+
"134e790e-20ec-428c-afc7-2544e06a93b9"
24+
],
25+
"groups": [
26+
"e3638d7e-708b-4619-9e3a-341709490cf8"
27+
]
28+
}
29+
},
30+
{
31+
"update": {
32+
"users": [
33+
"134e790e-20ec-428c-afc7-2544e06a93b9"
34+
],
35+
"groups": [
36+
"e3638d7e-708b-4619-9e3a-341709490cf8"
37+
]
38+
}
39+
},
40+
{
41+
"delete": {
42+
"users": [
43+
"134e790e-20ec-428c-afc7-2544e06a93b9"
44+
],
45+
"groups": [
46+
"e3638d7e-708b-4619-9e3a-341709490cf8"
47+
]
48+
}
49+
}
50+
],
2051
"filesize_bytes": null
2152
},
2253
"additional_metadata": {
23-
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=94bc1801-87a2-4b52-a177-25324bb17ae9&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3NzYwMTk2OTMifQ.CkAKDGVudHJhX2NsYWltcxIwQ0xHejc4NEdFQUFhRm1GdWNscEhRamRWWkdzMlRrZG5jMDUyYkRSYVFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCJ7B1L62sYw_EAUaDTQwLjEyNi4yNC4xNTMqLG9VeG1udTNmdVdWS013ZWU1V1BTcEpiSVpTaHQyYXkva0xhcExuWHZCRXM9MJ0BOAFCEKIJT7ynIADAawoFve2fulNKEGhhc2hlZHByb29mdG9rZW56ATG6AWVzaGFyZXBvaW50dGVuYW50c2V0dGluZ3MucmVhZHdyaXRlLmFsbCBhbGxzaXRlcy53cml0ZSBhbGxzaXRlcy5tYW5hZ2UgYWxsZmlsZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZMgBAQ.ij9zgUefn-gdAsABwdKw5GzKX4-ZkCC9a0RbopHEP88&ApiVersion=2.0",
54+
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=94bc1801-87a2-4b52-a177-25324bb17ae9&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3Nzc0Mjk5NjUifQ.CkAKDGVudHJhX2NsYWltcxIwQ0pDOXhjOEdFQUFhRmxRd2RITmtRMnR6VVVWSGVqQldlRXBxWDFkUFFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCN6Du_Gn5pI_EAUaDTQwLjEyNi4yNi4xNjAqLG9VeG1udTNmdVdWS013ZWU1V1BTcEpiSVpTaHQyYXkva0xhcExuWHZCRXM9MJ0BOAFCEKIOkK0p4ADQBTCf_wpxNkhKEGhhc2hlZHByb29mdG9rZW56ATG6AWVzaGFyZXBvaW50dGVuYW50c2V0dGluZ3MucmVhZHdyaXRlLmFsbCBhbGxzaXRlcy53cml0ZSBhbGxzaXRlcy5tYW5hZ2UgYWxsZmlsZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZMgBAQ.kaNt8uIQkhPAYNzvcY5Vb4vBiWIRry4BGAzhgFov2W4&ApiVersion=2.0",
2455
"eTag": "\"{94BC1801-87A2-4B52-A177-25324BB17AE9},1\"",
2556
"id": "0153RHRSABDC6JJIUHKJF2C5ZFGJF3C6XJ",
2657
"name": "list-item-example.pdf",
@@ -30,6 +61,6 @@
3061
"size": 48981
3162
},
3263
"reprocess": false,
33-
"local_download_path": "/private/var/folders/5k/frv076q97yl0ywybmzydhbsr0000gn/T/tmpqzyeoyg8/list-item-example.pdf",
64+
"local_download_path": "/private/var/folders/rd/rz43jzn10zq1tyqb026xvfw80000gq/T/tmpq271ug72/list-item-example.pdf",
3465
"display_name": "/list-item-example.pdf"
35-
}
66+
}

test/integration/connectors/expected_results/sharepoint1/file_data/0153RHRSAVBNSXPKVIBZC3ZD53KENINVGG.json

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,45 @@
1313
"user_pname": null,
1414
"server_relative_path": "/book-war-and-peace-1p.txt"
1515
},
16-
"date_created": "1738874878.0",
17-
"date_modified": "1738874878.0",
18-
"date_processed": "1776016095.9818702",
19-
"permissions_data": null,
16+
"date_created": "1738885678.0",
17+
"date_modified": "1738885678.0",
18+
"date_processed": "1777426369.430215",
19+
"permissions_data": [
20+
{
21+
"read": {
22+
"users": [
23+
"e3638d7e-708b-4619-9e3a-341709490cf8"
24+
],
25+
"groups": [
26+
"e3638d7e-708b-4619-9e3a-341709490cf8"
27+
]
28+
}
29+
},
30+
{
31+
"update": {
32+
"users": [
33+
"e3638d7e-708b-4619-9e3a-341709490cf8"
34+
],
35+
"groups": [
36+
"e3638d7e-708b-4619-9e3a-341709490cf8"
37+
]
38+
}
39+
},
40+
{
41+
"delete": {
42+
"users": [
43+
"e3638d7e-708b-4619-9e3a-341709490cf8"
44+
],
45+
"groups": [
46+
"e3638d7e-708b-4619-9e3a-341709490cf8"
47+
]
48+
}
49+
}
50+
],
2051
"filesize_bytes": null
2152
},
2253
"additional_metadata": {
23-
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=77650b15-a8aa-450e-bc8f-bb511a86d4c6&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3NzYwMTk2OTMifQ.CkAKDGVudHJhX2NsYWltcxIwQ0xHejc4NEdFQUFhRm1GdWNscEhRamRWWkdzMlRrZG5jMDUyYkRSYVFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCJ7B1L62sYw_EAUaDTQwLjEyNi4yNC4xNTMqLHplTUJJL3I5RUFVcXh4NUE2dElRZko3RWNJVCtsby9ubDZoSDVUN1NGbFU9MJ0BOAFCEKIJT7ynIADAawoFve2fulNKEGhhc2hlZHByb29mdG9rZW56ATG6AWVzaGFyZXBvaW50dGVuYW50c2V0dGluZ3MucmVhZHdyaXRlLmFsbCBhbGxzaXRlcy53cml0ZSBhbGxzaXRlcy5tYW5hZ2UgYWxsZmlsZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZMgBAQ.1OOIxtbHEQlKp9IxbOmX-AAREsgHhrYJfOVyKWjoioc&ApiVersion=2.0",
54+
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=77650b15-a8aa-450e-bc8f-bb511a86d4c6&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3Nzc0Mjk5NjUifQ.CkAKDGVudHJhX2NsYWltcxIwQ0pDOXhjOEdFQUFhRmxRd2RITmtRMnR6VVVWSGVqQldlRXBxWDFkUFFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCN6Du_Gn5pI_EAUaDTQwLjEyNi4yNi4xNjAqLHplTUJJL3I5RUFVcXh4NUE2dElRZko3RWNJVCtsby9ubDZoSDVUN1NGbFU9MJ0BOAFCEKIOkK0p4ADQBTCf_wpxNkhKEGhhc2hlZHByb29mdG9rZW56ATG6AWVzaGFyZXBvaW50dGVuYW50c2V0dGluZ3MucmVhZHdyaXRlLmFsbCBhbGxzaXRlcy53cml0ZSBhbGxzaXRlcy5tYW5hZ2UgYWxsZmlsZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZMgBAQ._vwVZ7qVKIh76a0hh_5WnmwMM507o9OQtGLon9Begms&ApiVersion=2.0",
2455
"eTag": "\"{77650B15-A8AA-450E-BC8F-BB511A86D4C6},1\"",
2556
"id": "0153RHRSAVBNSXPKVIBZC3ZD53KENINVGG",
2657
"name": "book-war-and-peace-1p.txt",
@@ -30,6 +61,6 @@
3061
"size": 3045
3162
},
3263
"reprocess": false,
33-
"local_download_path": "/private/var/folders/5k/frv076q97yl0ywybmzydhbsr0000gn/T/tmpqzyeoyg8/book-war-and-peace-1p.txt",
64+
"local_download_path": "/private/var/folders/rd/rz43jzn10zq1tyqb026xvfw80000gq/T/tmpq271ug72/book-war-and-peace-1p.txt",
3465
"display_name": "/book-war-and-peace-1p.txt"
35-
}
66+
}

test/integration/connectors/expected_results/sharepoint1/file_data/0153RHRSEXY3G5U3B5GBFY7TZKAY236XAL.json

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,45 @@
1313
"user_pname": null,
1414
"server_relative_path": "Folder1/fake-memo.pdf"
1515
},
16-
"date_created": "1738353979.0",
17-
"date_modified": "1738353979.0",
18-
"date_processed": "1776016107.091462",
19-
"permissions_data": null,
16+
"date_created": "1738364779.0",
17+
"date_modified": "1738364779.0",
18+
"date_processed": "1777426377.3549209",
19+
"permissions_data": [
20+
{
21+
"read": {
22+
"users": [
23+
"134e790e-20ec-428c-afc7-2544e06a93b9"
24+
],
25+
"groups": [
26+
"e3638d7e-708b-4619-9e3a-341709490cf8"
27+
]
28+
}
29+
},
30+
{
31+
"update": {
32+
"users": [
33+
"134e790e-20ec-428c-afc7-2544e06a93b9"
34+
],
35+
"groups": [
36+
"e3638d7e-708b-4619-9e3a-341709490cf8"
37+
]
38+
}
39+
},
40+
{
41+
"delete": {
42+
"users": [
43+
"134e790e-20ec-428c-afc7-2544e06a93b9"
44+
],
45+
"groups": [
46+
"e3638d7e-708b-4619-9e3a-341709490cf8"
47+
]
48+
}
49+
}
50+
],
2051
"filesize_bytes": null
2152
},
2253
"additional_metadata": {
23-
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=dacdc697-3d6c-4b30-8fcf-2a0635bf5c0b&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3NzYwMTk2OTQifQ.CkAKDGVudHJhX2NsYWltcxIwQ0xLejc4NEdFQUFhRmpKMlExWkRhMnBIVFVWVFdFRnhhMk5wWmpCQlFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCKjamMm2sYw_EAUaDTQwLjEyNi4yNC4xNTMqLEFkcXFoaFJjNTNCeG9JUkxjNXFFOFBtWjhpcTdXVU9YSmpLTzAxQ0dOOWs9MJ0BOAFCEKIJT7zrMADAWCrgJjLyJQVKEGhhc2hlZHByb29mdG9rZW56ATG6AWVzaGFyZXBvaW50dGVuYW50c2V0dGluZ3MucmVhZHdyaXRlLmFsbCBhbGxzaXRlcy53cml0ZSBhbGxzaXRlcy5tYW5hZ2UgYWxsZmlsZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZMgBAQ.WhAcMFJrQhJoNrDUHyjB6WnztGHwYF4_VJuPZxKH0oA&ApiVersion=2.0",
54+
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=dacdc697-3d6c-4b30-8fcf-2a0635bf5c0b&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3Nzc0Mjk5NjUifQ.CkAKDGVudHJhX2NsYWltcxIwQ0pHOXhjOEdFQUFhRmtSMU0xUnhTVWRYV2pCRE9FMTBSbWxvZFRaZlFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCJq8q_in5pI_EAUaDTIwLjE5MC4xNTQuMzIqLEFkcXFoaFJjNTNCeG9JUkxjNXFFOFBtWjhpcTdXVU9YSmpLTzAxQ0dOOWs9MJ0BOAFCEKIOkK1U4ADQBTCRGCOENldKEGhhc2hlZHByb29mdG9rZW56ATG6AWVzaGFyZXBvaW50dGVuYW50c2V0dGluZ3MucmVhZHdyaXRlLmFsbCBhbGxzaXRlcy53cml0ZSBhbGxzaXRlcy5tYW5hZ2UgYWxsZmlsZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZMgBAQ.Q5E7f-uA9QxzybOqvpjCfJlJsrITs9Es6YVqa0tJR0w&ApiVersion=2.0",
2455
"eTag": "\"{DACDC697-3D6C-4B30-8FCF-2A0635BF5C0B},1\"",
2556
"id": "0153RHRSEXY3G5U3B5GBFY7TZKAY236XAL",
2657
"name": "fake-memo.pdf",
@@ -30,6 +61,6 @@
3061
"size": 13374
3162
},
3263
"reprocess": false,
33-
"local_download_path": "/private/var/folders/5k/frv076q97yl0ywybmzydhbsr0000gn/T/tmpqzyeoyg8/Folder1/fake-memo.pdf",
64+
"local_download_path": "/private/var/folders/rd/rz43jzn10zq1tyqb026xvfw80000gq/T/tmpq271ug72/Folder1/fake-memo.pdf",
3465
"display_name": "Folder1/fake-memo.pdf"
35-
}
66+
}

test/integration/connectors/expected_results/sharepoint1/file_data/0153RHRSFFVW43WTVG5ZFY5WL7ZH3GUOGT.json

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,45 @@
1313
"user_pname": null,
1414
"server_relative_path": "Folder1/Folder2/fake-email.txt"
1515
},
16-
"date_created": "1738353577.0",
17-
"date_modified": "1738353577.0",
18-
"date_processed": "1776016113.034531",
19-
"permissions_data": null,
16+
"date_created": "1738364377.0",
17+
"date_modified": "1738364377.0",
18+
"date_processed": "1777426381.1245718",
19+
"permissions_data": [
20+
{
21+
"read": {
22+
"users": [
23+
"134e790e-20ec-428c-afc7-2544e06a93b9"
24+
],
25+
"groups": [
26+
"e3638d7e-708b-4619-9e3a-341709490cf8"
27+
]
28+
}
29+
},
30+
{
31+
"update": {
32+
"users": [
33+
"134e790e-20ec-428c-afc7-2544e06a93b9"
34+
],
35+
"groups": [
36+
"e3638d7e-708b-4619-9e3a-341709490cf8"
37+
]
38+
}
39+
},
40+
{
41+
"delete": {
42+
"users": [
43+
"134e790e-20ec-428c-afc7-2544e06a93b9"
44+
],
45+
"groups": [
46+
"e3638d7e-708b-4619-9e3a-341709490cf8"
47+
]
48+
}
49+
}
50+
],
2051
"filesize_bytes": null
2152
},
2253
"additional_metadata": {
23-
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=bbb9ada5-a64e-4bee-8ed9-7fc9f66a38d3&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3NzYwMTk2OTUifQ.CkAKDGVudHJhX2NsYWltcxIwQ0xPejc4NEdFQUFhRmpOalVVaGhMVXhNVkVWNWRGODRPR05YY3pRNVFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCMrKxNK2sYw_EAUaDjIwLjE5MC4xNTIuMTUzKixRWjVXSklra3A5TjdFR1AyZFp3SEpvTFZiNXlqNmFPMkZ3UW93WUdiR08wPTCdATgBQhCiCU-9KWAAwGsKDnvlOLMTShBoYXNoZWRwcm9vZnRva2VuegExugFlc2hhcmVwb2ludHRlbmFudHNldHRpbmdzLnJlYWR3cml0ZS5hbGwgYWxsc2l0ZXMud3JpdGUgYWxsc2l0ZXMubWFuYWdlIGFsbGZpbGVzLndyaXRlIGFsbHByb2ZpbGVzLnJlYWTIAQE.9ZoPYJ_5EU21UiTxUnWOaSWYhu_bIz1py4w0poJRx8A&ApiVersion=2.0",
54+
"@microsoft.graph.downloadUrl": "https://unstructuredio.sharepoint.com/sites/utic-platform-test-source/_layouts/15/download.aspx?UniqueId=bbb9ada5-a64e-4bee-8ed9-7fc9f66a38d3&Translate=false&tempauth=v1.eyJzaXRlaWQiOiJhNmY1NjcwNS1hZjI5LTQ2YzctOTBiYS05YTBkNWE3YTFlZWMiLCJhcHBfZGlzcGxheW5hbWUiOiJzaGFyZXBvaW50LWFwcC1yZWdpc3RyYXRpb24iLCJuYW1laWQiOiI2YzE2MDc1My05YjYzLTQ3MDktYTE0MC0xN2EyN2QzMDg3YTZAM2Q2MGE3ZTUtMWUzMi00MTRlLTgzOWItMWM2ZTY3ODI2MTNkIiwiYXVkIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL3Vuc3RydWN0dXJlZGlvLnNoYXJlcG9pbnQuY29tQDNkNjBhN2U1LTFlMzItNDE0ZS04MzliLTFjNmU2NzgyNjEzZCIsImV4cCI6IjE3Nzc0Mjk5NjYifQ.CkAKDGVudHJhX2NsYWltcxIwQ0pLOXhjOEdFQUFhRm1RNVlXeEVTbWRNZVZWSFgxbHZaRFF3YmpobFFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NBILCLTulP-n5pI_EAUaDTIwLjE5MC4xNTQuMzIqLFFaNVdKSWtrcDlON0VHUDJkWndISm9MVmI1eWo2YU8yRndRb3dZR2JHTzA9MJ0BOAFCEKIOkK2BQADQBTCbZSpSvzVKEGhhc2hlZHByb29mdG9rZW56ATG6AWVzaGFyZXBvaW50dGVuYW50c2V0dGluZ3MucmVhZHdyaXRlLmFsbCBhbGxzaXRlcy53cml0ZSBhbGxzaXRlcy5tYW5hZ2UgYWxsZmlsZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZMgBAQ.snOhFoIANzMbejxrXixEUnF6I5QcnVJKdxoVC-bywbQ&ApiVersion=2.0",
2455
"eTag": "\"{BBB9ADA5-A64E-4BEE-8ED9-7FC9F66A38D3},1\"",
2556
"id": "0153RHRSFFVW43WTVG5ZFY5WL7ZH3GUOGT",
2657
"name": "fake-email.txt",
@@ -30,6 +61,6 @@
3061
"size": 836
3162
},
3263
"reprocess": false,
33-
"local_download_path": "/private/var/folders/5k/frv076q97yl0ywybmzydhbsr0000gn/T/tmpqzyeoyg8/Folder1/Folder2/fake-email.txt",
64+
"local_download_path": "/private/var/folders/rd/rz43jzn10zq1tyqb026xvfw80000gq/T/tmpq271ug72/Folder1/Folder2/fake-email.txt",
3465
"display_name": "Folder1/Folder2/fake-email.txt"
35-
}
66+
}

0 commit comments

Comments
 (0)