Skip to content

Test every document metadata field through the existing Prism API - #4

Open
vogti wants to merge 4 commits into
masterfrom
codex/document-entity-metadata
Open

vogti wants to merge 4 commits into
masterfrom
codex/document-entity-metadata

Conversation

@vogti

@vogti vogti commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Add explicit Python integration suites for document entity metadata through the existing EntitiesRequest/EntitiesResponse RPC. Deterministic collections cover every Document and DocumentField property, all inferred types, null/missing fields, nested and escaped paths, sample JSON, empty collections/namespaces, entity patterns, updates, preservation of pending writes, and relational regression.

A MongoDB source fixture creates actual unique B-tree, hash, nested-field, and wildcard indexes and verifies every DocumentIndex property. Fixtures use private namespaces/adapters and clean up their data. Explicit runs fail clearly when the new schema or either service is unavailable. PyMongo is imported only when the optional live index fixture runs, preserving regular doctest collection without that dependency.

The runner overlays only the new namespace metadata module onto released Prism 1.9. A dedicated CI workflow pins the companion API/DB revisions, validates the complete Prism Java suite, selects an executable server JAR, starts a MongoDB replica set, and runs both Python suites plus protocol contracts.

The regular CI keeps all 15 Python/OS combinations using compatible runner images; Python 3.9/3.10 on macOS use Intel runners. The adapter matrix matches the six available stores, removing the obsolete Cottontail entry. Server artifact selection verifies the executable JAR instead of renaming an unrestricted wildcard. Production dependency pins remain unchanged.

Companions: polypheny/Polypheny-Prism-API#3 and polypheny/Polypheny-DB#576.

Validation: all 15 metadata live cases and five protocol contracts passed. In an isolated Linux/Python 3.12/OpenJDK 17 container, all 90 regular tests, five documentation doctests, and both Markdown/HTML documentation builds passed. The companion's complete Prism suite passed all 46 tests, plus five index-mapping tests. GitHub validation is complete: all 50 checks on this PR head succeeded, including both metadata workflows, all 15 Python/OS combinations and all six adapters in both push and pull-request runs.

Final GitHub validation: 50/50 checks successful on 52b6d1ccb8364457063e01f52ee0ad19ee559834; no pending or failed checks.

JDBC 3.x companion: polypheny/Polypheny-JDBC-Driver#21.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant