generated from coulomb/repo-seed
query parsing and diagnostics
This commit is contained in:
@@ -129,6 +129,7 @@ def test_cmis_repository_info_and_type_definitions(cmis_client) -> None:
|
||||
assert repository["repositoryUrl"].endswith("/cmis/readonly-browser/browser")
|
||||
assert repository["rootFolderUrl"].endswith("/cmis/readonly-browser/browser/root")
|
||||
assert repository["capabilities"]["capabilityQuery"] == "metadataonly"
|
||||
assert repository["capabilities"]["capabilityOrderBy"] == "common"
|
||||
assert repository["capabilities"]["capabilityGetDescendants"] is False
|
||||
assert browser_types["types"][0]["id"] == "cmis:document"
|
||||
assert "propertyDefinitions" not in browser_types["types"][0]
|
||||
@@ -166,10 +167,18 @@ def test_cmis_readonly_children_object_content_query_relationships_and_changes(c
|
||||
"/cmis/readonly-browser/browser/query",
|
||||
params={"q": "SELECT * FROM cmis:document"},
|
||||
).json()
|
||||
filtered_query = cmis_client.get(
|
||||
"/cmis/readonly-browser/browser/query",
|
||||
params={"q": "SELECT * FROM cmis:document WHERE kontextual:topics IN ('cmis') ORDER BY cmis:name ASC"},
|
||||
).json()
|
||||
relationships = cmis_client.get(
|
||||
"/cmis/readonly-browser/browser/relationships",
|
||||
params={"object_id": "cmis:asset:asset-source"},
|
||||
).json()
|
||||
target_relationships = cmis_client.get(
|
||||
"/cmis/readonly-browser/browser/relationships",
|
||||
params={"object_id": "cmis:asset:asset-public", "relationshipDirection": "target"},
|
||||
).json()
|
||||
changes = cmis_client.get("/cmis/readonly-browser/browser/changes").json()
|
||||
|
||||
root_ids = {item["object_id"] for item in root_children["objects"]}
|
||||
@@ -182,8 +191,11 @@ def test_cmis_readonly_children_object_content_query_relationships_and_changes(c
|
||||
assert "get_content_stream" in object_response["allowable_actions"]
|
||||
assert content["mime_type"] == "text/markdown"
|
||||
assert query["total_num_items"] == children["total_num_items"]
|
||||
assert [item["object_id"] for item in filtered_query["results"]] == ["cmis:asset:asset-source"]
|
||||
assert relationships["count"] == 1
|
||||
assert relationships["items"][0]["properties"]["cmis:targetId"] == "cmis:asset:asset-public"
|
||||
assert relationships["items"][0]["properties"]["kontextual:relationshipId"]
|
||||
assert target_relationships["count"] == 1
|
||||
assert changes["total_num_items"] >= 3
|
||||
|
||||
|
||||
@@ -213,13 +225,24 @@ def test_cmis_query_reports_unsupported_subset_diagnostics(cmis_client) -> None:
|
||||
params={"q": "SELECT * FROM cmis:document JOIN cmis:relationship"},
|
||||
)
|
||||
|
||||
assert response.status_code == 400
|
||||
assert response.json()["exception"] == "invalidArgument"
|
||||
assert response.json()["details"]["supported"] == [
|
||||
"SELECT * FROM cmis:document",
|
||||
"SELECT * FROM kontextual:document",
|
||||
assert response.status_code == 405
|
||||
assert response.json()["exception"] == "notSupported"
|
||||
assert "SELECT * FROM cmis:document" in response.json()["details"]["supported"]
|
||||
assert response.json()["details"]["orderable_fields"] == [
|
||||
"cmis:creationDate",
|
||||
"cmis:lastModificationDate",
|
||||
"cmis:name",
|
||||
"cmis:objectId",
|
||||
]
|
||||
|
||||
descendants = cmis_client.get(
|
||||
"/cmis/readonly-browser/browser/root",
|
||||
params={"cmisselector": "descendants"},
|
||||
)
|
||||
assert descendants.status_code == 405
|
||||
assert descendants.json()["exception"] == "notSupported"
|
||||
assert descendants.json()["details"]["unsupported_feature"] == "get_descendants"
|
||||
|
||||
|
||||
def test_cmis_governed_authoring_routes_allow_selected_mutations(cmis_client) -> None:
|
||||
created = cmis_client.post(
|
||||
|
||||
Reference in New Issue
Block a user