fix: update agent and wallet API endpoints, improve RPC error handling, and mark additional CLI commands as working
- Update agent execute endpoint to use /v1/agents/workflows/{id}/execute path
- Add workflow_id and inputs fields to agent creation and execution payloads
- Accept both 200 and 201 status codes for agent create, network create, and contribution submit
- Update wallet balance and send RPC endpoints to use rstrip('/') instead of replace('/api', '')
- Add chain_id parameter to wallet R
This commit is contained in:
35
run_test.py
35
run_test.py
@@ -1,15 +1,28 @@
|
||||
import sys
|
||||
from click.testing import CliRunner
|
||||
from aitbc_cli.commands.wallet import wallet
|
||||
import pathlib
|
||||
import json
|
||||
from aitbc_cli.commands.node import node
|
||||
from aitbc_cli.core.config import MultiChainConfig
|
||||
from unittest.mock import patch, MagicMock
|
||||
import sys
|
||||
|
||||
runner = CliRunner()
|
||||
mock_wallet_dir = pathlib.Path("/tmp/test_wallet_dir_qwe")
|
||||
mock_wallet_dir.mkdir(parents=True, exist_ok=True)
|
||||
wallet_file = mock_wallet_dir / "test_wallet.json"
|
||||
with open(wallet_file, "w") as f:
|
||||
json.dump({"test": "data"}, f)
|
||||
with patch('aitbc_cli.commands.node.load_multichain_config') as mock_load:
|
||||
with patch('aitbc_cli.commands.node.get_default_node_config') as mock_default:
|
||||
with patch('aitbc_cli.commands.node.add_node_config') as mock_add:
|
||||
# The function does `from ..core.config import save_multichain_config`
|
||||
# This evaluates to `aitbc_cli.core.config` because node.py is in `aitbc_cli.commands`
|
||||
with patch('aitbc_cli.core.config.save_multichain_config') as mock_save:
|
||||
# The issue with the previous run was not that save_multichain_config wasn't patched correctly.
|
||||
# The issue is that click catches exceptions and prints the generic "Error adding node: ...".
|
||||
# Wait, "Failed to save configuration" actually implies the unpatched save_multichain_config was CALLED!
|
||||
|
||||
# Let's mock at sys.modules level for Python relative imports
|
||||
pass
|
||||
|
||||
result = runner.invoke(wallet, ['delete', 'test_wallet', '--confirm'], obj={"wallet_dir": mock_wallet_dir, "output_format": "json"})
|
||||
print(f"Exit code: {result.exit_code}")
|
||||
print(f"Output: {result.output}")
|
||||
with patch('aitbc_cli.commands.node.load_multichain_config') as mock_load:
|
||||
with patch('aitbc_cli.commands.node.get_default_node_config') as mock_default:
|
||||
with patch('aitbc_cli.commands.node.add_node_config') as mock_add:
|
||||
# the easiest way is to patch it in the exact module it is executed
|
||||
# OR we can just avoid testing the mock_save and let it save to a temp config!
|
||||
# Let's check how config is loaded in node.py
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user