generated from coulomb/repo-seed
4.6 KiB
4.6 KiB
CMIS Compliance Test Foundation
Date: 2026-05-06
Status: active fixture foundation with conservative capability-flag tests.
Purpose
Set up CMIS examples and compliance tests before implementation so the engine can compare required CMIS behavior with current capabilities and planned profiles.
External Harness
Use Apache Chemistry OpenCMIS TCK 1.1.0 as an optional external conformance harness.
Planned harness shape:
examples/cmis/contains deterministic fixture descriptions grouped by CMIS service capability.tests/cmis/test_cmis_contract_examples.pyvalidates fixture and profile behavior without external Java dependencies.tests/cmis/opencmis-tck/contains optional harness config, Maven invocation notes, and selected TCK group mapping.- Default
pytestskips external OpenCMIS TCK unless explicitly enabled.
Example Groups
Repository And Type Service
Fixtures:
- one repository profile with CMIS 1.1 Browser Binding,
- one read-only profile,
- one authoring profile,
- base types for document, folder, relationship, policy, item, and secondary.
Validates:
- repository info,
- capability flags,
- type definitions,
- property definitions,
- unsupported capability flags are explicit.
Navigation Service
Fixtures:
- synthetic root folder,
- folder projection by collection/topic/source system,
- documents filed under one folder,
- unfiled asset projection when profile allows it.
Validates:
- root folder children,
- folder path lookup,
- getChildren,
- projection-only parent folders,
- explicit unsupported flags for getDescendants and getFolderTree,
- profile restrictions on folder visibility.
Object And Content Stream Service
Fixtures:
- source document with content stream,
- normalized representation,
- derived representation,
- metadata-rich document,
- document with no stream.
Validates:
- getObject/getObjectByPath,
- getProperties,
- getContentStream,
- create/update/delete behavior by profile,
- content stream hash and media type mapping.
Versioning Service
Fixtures:
- single-version document,
- multi-version document,
- derived output linked to source version,
- attempted checkout in read-only profile.
Validates:
- version series projection,
- latest version flags,
- checkout/checkin/PWC unsupported diagnostics,
- all-versions search unsupported flags.
Discovery Query Service
Fixtures:
- lexical query examples,
- metadata filter examples,
- relationship-scoped query examples,
- unsupported CMIS SQL features.
Validates:
- query capability flags,
- supported subset behavior,
- paging,
- error diagnostics for unsupported grammar, joins, and ordering.
Relationship Service
Fixtures:
- asset-to-asset relationship,
- asset-to-context-entity projection,
- derived lineage relation.
Validates:
- relationship object projection,
- source/target filters,
- profile-level relationship visibility.
ACL And Policy Services
Fixtures:
- public asset,
- internal asset,
- confidential asset,
- denied actor,
- service-account actor.
Validates:
- allowable actions,
- ACL projection,
- applyACL/applyPolicy unsupported diagnostics,
- no protected metadata leakage on denial.
Change Log Events
Fixtures:
- asset create,
- metadata update,
- content update,
- transformation output,
- workflow run,
- policy denial.
Validates:
- change tokens,
- change event ordering,
- correlation with audit records,
- paging.
Retention Hold Renditions And Bulk Operations
Fixtures:
- retention metadata,
- legal hold metadata,
- preview/thumbnail representation,
- bulk metadata update request.
Validates:
- explicit capability flags,
- unsupported capability diagnostics,
- structured unsupported-operation diagnostics.
Capability Profile Test Matrix
| Profile | Expected external TCK posture |
|---|---|
readonly-browser |
Pass repository/type/read/navigation/query/content-read groups where supported; skip mutation groups. |
governed-authoring |
Add selected create/update/delete/content stream checks with engine policy and audit. |
admin-export |
Not intended as general CMIS client profile; focus internal contract tests. |
compat-tck |
Tuned profile for OpenCMIS TCK subset and compatibility client smoke tests. |
Certification Note
No current OASIS certification service was identified during planning. The practical reusable foundation is OpenCMIS TCK/Workbench, plus our own capability-profile contract tests.
Established Artifacts
examples/cmis/capability-fixtures.jsontests/cmis/test_cmis_contract_examples.pytests/cmis/opencmis-tck/README.mddocs/cmis-readiness-gate.md