projection-only multifiling

This commit is contained in:
2026-05-07 02:52:49 +02:00
parent 801d2f4851
commit 81e132b33b
9 changed files with 250 additions and 46 deletions

View File

@@ -73,7 +73,7 @@ def test_mapper_exposes_repository_info_capabilities_and_base_type_definitions()
assert repository["cmis_version_supported"] == "1.1"
assert repository["binding"] == "browser"
assert repository["capabilities"]["capability_query"] == "metadataonly"
assert repository["capabilities"]["capability_multifiling"] is False
assert repository["capabilities"]["capability_multifiling"] is True
assert set(types) == {
"cmis:document",
@@ -128,6 +128,21 @@ def test_mapper_projects_asset_to_cmis_document_envelope() -> None:
assert CMISAction.UPDATE_PROPERTIES.value not in serialized["allowable_actions"]
def test_mapper_projects_multiple_parent_folders_without_duplicate_assets() -> None:
mapper = _mapper()
asset = _asset()
parents = mapper.parent_folders_for_asset(asset)
parent_paths = {parent["path"] for parent in parents}
assert "/sources/sharepoint/Architecture" in parent_paths
assert "/topics/architecture" in parent_paths
assert "/topics/cmis" in parent_paths
assert "/owners/Platform Knowledge" in parent_paths
assert "/lifecycle/active" in parent_paths
assert len(parent_paths) == len(parents)
def test_governed_authoring_projection_includes_write_allowable_actions() -> None:
mapper = _mapper(CMISAccessProfile.governed_authoring())
asset = _asset()
@@ -175,4 +190,3 @@ def test_mapper_projects_relationship_objects() -> None:
assert serialized["properties"]["cmis:sourceId"] == "cmis:asset:asset-source"
assert serialized["properties"]["cmis:targetId"] == "cmis:asset:asset-target"
assert serialized["properties"]["kontextual:predicate"] == "derived_from"