omnigraph/docker/entrypoint_test.sh
Ragnor Comerford c2db7b5002
fix(cli,server): correct remaining --target references to --graph
L6 renamed the flag but left stragglers. Two were functional: the
`resolve_target_uri` "URI must be provided …" error still named `--target`, and
`docker/entrypoint.sh` passed `--target` to omnigraph-server (which now only
accepts `--graph`) — so the container failed to boot. Both fixed (plus the
entrypoint smoke test's expected args). The rest are code comments across the
config/server/cli crates and tests, and the cheat sheet, swept `--target` →
`--graph`. `--target-branch` (policy explain) is a distinct flag and untouched;
past release notes keep `--target` (accurate for those versions).
2026-06-04 08:56:39 +02:00

65 lines
2 KiB
Bash
Executable file

#!/bin/sh
# Self-contained test for docker/entrypoint.sh argument composition.
# Runs the entrypoint against a stub server that echoes its args, and
# asserts the forwarded argv for each startup mode. No Docker required.
#
# sh docker/entrypoint_test.sh
#
# Exits 0 on success, 1 on the first mismatch.
set -eu
here=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
entrypoint="$here/entrypoint.sh"
work=$(mktemp -d)
trap 'rm -rf "$work"' EXIT
mkdir -p "$work/bin"
cat > "$work/bin/omnigraph-server" <<'EOF'
#!/bin/sh
echo "ARGS: $*"
EOF
chmod +x "$work/bin/omnigraph-server"
# Run the real entrypoint with SERVER_BIN pointed at the stub.
ep="$work/entrypoint.sh"
sed "s#SERVER_BIN=\"/usr/local/bin/omnigraph-server\"#SERVER_BIN=\"$work/bin/omnigraph-server\"#" \
"$entrypoint" > "$ep"
fail=0
check() {
desc=$1; want=$2; got=$3
if [ "$got" != "$want" ]; then
echo "FAIL: $desc"
echo " want: $want"
echo " got: $got"
fail=1
else
echo "ok: $desc"
fi
}
got=$(OMNIGRAPH_TARGET_URI="s3://b/g" OMNIGRAPH_BIND="0.0.0.0:8080" sh "$ep")
check "TARGET_URI only (legacy)" \
"ARGS: s3://b/g --bind 0.0.0.0:8080" "$got"
got=$(OMNIGRAPH_TARGET_URI="s3://b/g" OMNIGRAPH_CONFIG="/etc/omnigraph/omnigraph.yaml" OMNIGRAPH_BIND="0.0.0.0:8080" sh "$ep")
check "TARGET_URI + CONFIG composes (policy)" \
"ARGS: s3://b/g --config /etc/omnigraph/omnigraph.yaml --bind 0.0.0.0:8080" "$got"
got=$(OMNIGRAPH_CONFIG="/etc/omnigraph/omnigraph.yaml" OMNIGRAPH_BIND="0.0.0.0:8080" sh "$ep")
check "CONFIG only" \
"ARGS: --config /etc/omnigraph/omnigraph.yaml --bind 0.0.0.0:8080" "$got"
got=$(OMNIGRAPH_CONFIG="/etc/omnigraph/omnigraph.yaml" OMNIGRAPH_TARGET="active" OMNIGRAPH_BIND="0.0.0.0:8080" sh "$ep")
check "CONFIG + TARGET" \
"ARGS: --config /etc/omnigraph/omnigraph.yaml --graph active --bind 0.0.0.0:8080" "$got"
got=$(sh "$ep" some-uri --bind 1.2.3.4:9 --extra)
check "explicit args passthrough" \
"ARGS: some-uri --bind 1.2.3.4:9 --extra" "$got"
if [ "$fail" -ne 0 ]; then
echo "entrypoint_test: FAILED"
exit 1
fi
echo "entrypoint_test: all cases passed"