我正在使用 marklogic-unit-test 设置单元测试,我想做的一件事是检查给定文档是否具有特定权限。但是,当我针对权限序列测试我的权限时,我收到一个XDMP-NONMIXEDCOMPLEXCONT
错误。我认为这与权限是复杂对象而不是简单字符串这一事实有关,因为这适用于集合。
const test = require("/test/test-helper.xqy");
let p1 = Sequence.from([xdmp.permission("rest-reader", "read", "element")]);
let p2 = Sequence.from([
xdmp.permission("rest-reader", "read", "element"),
xdmp.permission("rest-writer", "update", "element")
]);
test.assertAtLeastOneEqual(p1, p2)
返回:
[javascript] XDMP-NONMIXEDCOMPLEXCONT: fn:data(<sec:permission
xmlns:sec="http://marklogic.com/xdmp/security">
<sec:capability>...</sec:capability>...</sec:permission>)
-- Node has complex type with non-mixed complex content
我能想到的最好的选择是显式循环序列并对fn.deepEqual
每个元素进行比较。有没有更好的办法?