Feature: dynamic command discovery for JSON-RPC and enhanced testing
Some checks failed
Smoke tests / Build and smoke test (push) Failing after 1m2s
Some checks failed
Smoke tests / Build and smoke test (push) Failing after 1m2s
This commit is contained in:
20
run-tests.sh
20
run-tests.sh
@@ -88,6 +88,26 @@ EOF
|
||||
echo "quit"
|
||||
) | ssh_mud smoketest@localhost
|
||||
|
||||
# Test 7: JSON-RPC interface and dynamic command list
|
||||
# We need an active player for the login to succeed in mud-mcp style
|
||||
# (though list_commands doesn't require session, the MCP does login on startup)
|
||||
ssh_mud rpctest@localhost <<'EOF'
|
||||
1
|
||||
1
|
||||
quit
|
||||
EOF
|
||||
|
||||
echo '{"_jsonrpc": "2.0", "method": "login", "params": {"username": "rpctest"}, "id": 1}' | nc -w 2 localhost 2223 > rpc_resp.json
|
||||
echo '{"_jsonrpc": "2.0", "method": "list_commands", "params": {}, "id": 2}' | nc -w 2 localhost 2223 >> rpc_resp.json
|
||||
|
||||
if ! grep -q '"shop"' rpc_resp.json; then
|
||||
echo "Error: 'shop' command missing from JSON-RPC list_commands"
|
||||
cat rpc_resp.json
|
||||
exit 1
|
||||
fi
|
||||
rm rpc_resp.json
|
||||
|
||||
# Cleanup (trap handles server kill)
|
||||
./target/debug/mudtool -d "$TEST_DB" settings set registration_open true
|
||||
./target/debug/mudtool -d "$TEST_DB" players delete smoketest
|
||||
./target/debug/mudtool -d "$TEST_DB" players delete rpctest
|
||||
|
||||
Reference in New Issue
Block a user