test(marmot-interop): unwrap newer whitenoise-rs groups show shape
Whitenoise-rs ≥ v0.2.x nests the group object one level deeper —
`{"result": {"group": {...}}}` instead of `{"result": {...}}`. The two
metadata-name pollers in tests 07 and 10 still asked for `.result.name`
and silently saw the empty string, so even when wn-side `groups show`
returned the correct new name the polling loops timed out:
07 metadata rename fail B saw name="" not "Interop-02-renamed"
10 concurrent commits fail diverged: A sees "race-from-amethyst", B sees ""
Both queries now also peel a `.group` wrapper when present, leaving the
older bare-`result` shape working too. Re-running the headless harness
flips 07 + 10 from fail → pass; the remaining failures (09, 14, 15) are
unrelated MLS-encryption / Remove-commit issues that need their own fix.
https://claude.ai/code/session_013VYkpz8P1mPh9Ejxy9anhJ
This commit is contained in:
@@ -89,7 +89,10 @@ test_10_concurrent_commits() {
|
|||||||
|
|
||||||
sleep 10
|
sleep 10
|
||||||
local b_name
|
local b_name
|
||||||
b_name=$(wn_b --json groups show "$mls_gid" 2>/dev/null | jq -r '(.result // .) | .name // empty')
|
# whitenoise-rs ≥ v0.2.x wraps the group payload one level deeper as
|
||||||
|
# `{"result": {"group": {…name…}}}`; the older shape was a bare group
|
||||||
|
# object under `.result`. Accept both.
|
||||||
|
b_name=$(wn_b --json groups show "$mls_gid" 2>/dev/null | jq -r '(.result // .) | (.group // .) | .name // empty')
|
||||||
local a_name
|
local a_name
|
||||||
a_name=$(amy_field '.name' marmot group show "$gid" 2>/dev/null || echo "")
|
a_name=$(amy_field '.name' marmot group show "$gid" 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,11 @@ test_07_metadata_rename() {
|
|||||||
|
|
||||||
local deadline=$(( $(date +%s) + 120 )) seen=""
|
local deadline=$(( $(date +%s) + 120 )) seen=""
|
||||||
while [[ $(date +%s) -lt $deadline ]]; do
|
while [[ $(date +%s) -lt $deadline ]]; do
|
||||||
seen=$(wn_b --json groups show "$mls_gid" 2>/dev/null | jq -r '(.result // .) | .name // empty')
|
# whitenoise-rs ≥ v0.2.x wraps the group payload one level deeper as
|
||||||
|
# `{"result": {"group": {…name…}}}`; older builds returned the bare
|
||||||
|
# group object under `.result`. Probe both shapes so the test survives
|
||||||
|
# either schema.
|
||||||
|
seen=$(wn_b --json groups show "$mls_gid" 2>/dev/null | jq -r '(.result // .) | (.group // .) | .name // empty')
|
||||||
[[ "$seen" == "Interop-02-renamed" ]] && break
|
[[ "$seen" == "Interop-02-renamed" ]] && break
|
||||||
sleep 3
|
sleep 3
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user