first
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# Regression: graph-data nodes must keep wiki-relative page paths for workbench reader and selection prompts.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
SCRIPT="$REPO_ROOT/scripts/build-graph-data.sh"
|
||||
|
||||
fail() {
|
||||
echo "FAIL: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
test_synthesis_session_node_keeps_wiki_relative_path() {
|
||||
local tmp_dir source_path private_path
|
||||
tmp_dir="$(mktemp -d)"
|
||||
|
||||
mkdir -p "$tmp_dir/wiki/synthesis/sessions"
|
||||
|
||||
cat > "$tmp_dir/purpose.md" <<'EOF'
|
||||
# Source Path Fixture
|
||||
EOF
|
||||
|
||||
cat > "$tmp_dir/wiki/synthesis/sessions/A.md" <<'EOF'
|
||||
# A
|
||||
|
||||
消化结果正文。
|
||||
EOF
|
||||
|
||||
LLM_WIKI_TEST_MODE=1 \
|
||||
bash "$SCRIPT" "$tmp_dir" "$tmp_dir/wiki/graph-data.json" > /dev/null 2>&1 \
|
||||
|| fail "build-graph-data.sh should succeed on synthesis session fixture"
|
||||
|
||||
source_path="$(jq -r '.nodes[] | select(.id == "A") | .source_path // ""' "$tmp_dir/wiki/graph-data.json")"
|
||||
[ "$source_path" = "wiki/synthesis/sessions/A.md" ] \
|
||||
|| fail "Expected source_path to be wiki/synthesis/sessions/A.md, got: $source_path"
|
||||
|
||||
private_path="$(jq -r '.nodes[] | select(.id == "A") | ._file_path // ""' "$tmp_dir/wiki/graph-data.json")"
|
||||
[ -z "$private_path" ] || fail "Graph data should not expose helper-only _file_path, got: $private_path"
|
||||
|
||||
rm -rf "$tmp_dir"
|
||||
}
|
||||
|
||||
main() {
|
||||
test_synthesis_session_node_keeps_wiki_relative_path
|
||||
echo "PASS: graph data source path regression coverage"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user