У нас есть некоторые бизнес-требования, которые требуют управления версиями. Для этого мы решили использовать библиотечные сервисы MarkLogic. У нас возникла проблема с тестированием нашего кода с помощью XRAY и использованием транзакций.
Наш тест выглядит следующим образом:
declare function should-save-with-version-when-releasing() {
declare option xdmp:transaction-mode "update";
let $uri := '/some-document-uri.xml'
let $document := fn:doc($uri)
let $pre-release-version := c:get-latest-version($uri)
let $post-release-version := c:get-latest-version($uri)
let $result := mut:release($document) (:this should version up:)
return (assert:not-empty($pre-release-version),
assert:not-empty($result),
assert:not-equal($pre-release-version,$post-release-version),
xdmp:rollback())
Тест пройдёт несмотря ни на что, и как оказывается откат ML сносит все переменные.
Как мы можем проверить это с помощью транзакций?
Любая помощь очень ценится,
im