Repository navigation
test: make the suite pass against eXist-db 7 - #402
Merged
Merged
Conversation
Against existdb/existdb:latest (7.0.0-SNAPSHOT) seven tests failed. None of them is a node-exist bug: - install of an empty XAR: eXist-db 7 reports experr:EXPATH007 and prefixes the description; the test now accepts both messages - REST post honors start/max/cache: eXist-db 7 ignores the start and max attributes of a posted query (eXist-db/exist#6560); marked todo on eXist-db 7 so they report again once that is fixed - documents read with default options and with omit-xml-declaration: eXist-db 7 keeps a stored XML declaration unless the custom omit-original-xml-declaration is set (eXist-db/exist#6277); marked todo on eXist-db 7 until that is decided Refs eXist-db#339 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bdrW9vpnvJkeBtS1UZ92E
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| CodeStyle | 1 minor |
🟢 Metrics 0 complexity · 0 duplication
Metric Results Complexity 0 Duplication 0
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
joewiz
approved these changes
Sep 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #339
Makes the suite pass against
existdb/existdb:latest(7.0.0-SNAPSHOT). Seven tests failed there. None of them is a node-exist bug, so this changes tests only, no library code. Thereleasecells are deliberately not addressed here (7.0.0-beta4 is about to be released).The seven failures
app.js› empty application XAR › install appexperr:EXPATH007 Generic error from the expath repository library. Package installation failed: Missing descriptor from package: …instead ofexperr:EXPATH00 Missing descriptor from package: …experr:EXPATH00prefix and theMissing descriptor from package: …suffix, which holds for bothrest.js› post honors start and max / just start / cachestartandmaxattributes of a posted<exist:query>are ignored, results always start at 1 and include every hittodoon eXist-db 7, see belowdocuments.js› read with empty options uses defaults / read without passing options / serialized without XML declarationomit-xml-declaration=yesdoes not remove ittodoon eXist-db 7, see belowtodotests keep running and are reported, but do not fail the run. Once eXist-db changes the behaviour they show up as passing and the marker can go. The markers are gated onparseInt(version, 10) >= 7, so nothing changes for 4.x, 5.x and 6.x.REST pagination: eXist-db/exist#6560
A regression in eXist-db 7. The refactor ba806089d (2026-07-07,
RESTServer.doPost: decompose into executePostExecutable, processQueryDocument and processXUpdate) introducedparseIntAttributewith an inverted check:A present attribute is never parsed, an absent one throws and falls back to the default. Probed against
latest:<query start="2" max="1">?_start=2&_howmany=1in the URL?_query=…&_start=2&_howmany=1cache="yes"still works (a session is returned), only the paging is lost. There is no client-side workaround for POST.Stored XML declaration: eXist-db/exist#6277
eXist-db 7 added the custom serialization flag
omit-original-xml-declaration, which takes precedence over the standardomit-xml-declaration(introduced with 855922a1). eXist-db/exist#6277 proposes removing it again. Until that is decided the three tests aretodoon eXist-db 7.documents.read(XML-RPCgetDocument) of a document stored with a declaration:{}omit-xml-declaration: yesomit-xml-declaration: noomit-original-xml-declaration: yesomit-xml-declaration: yes+omit-original-xml-declaration: yesomit-xml-declaration: no+omit-original-xml-declaration: yesDocuments stored without a declaration behave the same on both versions. eXist-db 6.4.1 ignores
omit-original-xml-declarationentirely.The flag is not honoured consistently on eXist-db 7 either:
_omit-xml-declaration=yes_omit-original-xml-declaration=yesqueries.readAll('doc(…)')with either or both flagsqueries.read('doc(…)')without optionsMirroring the flag inside node-exist was considered and left out on purpose, so the library does not grow a workaround for a flag that may be removed.
Testing
Locally, Node.js 24.10.0:
latest, sha256:8c181a…)Notes
releasecurrently resolves to 7.0.0-beta3 (the Docker Hub tag moved on 2026-06-02), which fails six of the same tests. Because the gate is on the major version, those cells will probably turn green as a side effect.🤖 Generated with Claude Code
https://claude.ai/code/session_016bdrW9vpnvJkeBtS1UZ92E