- Move generated files to temp/generated-files/ - Move genesis files to data/ - Move workspace files to temp/workspace-files/ - Move backup files to temp/backup-files/ - Move documentation to docs/temp/ - Move user guides to docs/ - Move environment files to config/ - Update .gitignore to exclude temp directories - Clean up root directory for professional appearance - Maintain all essential files and directories Root directory now contains only essential files: - Configuration files (.editorconfig, .gitignore, .pre-commit-config.yaml) - Documentation (README.md, LICENSE, SECURITY.md, SETUP_PRODUCTION.md) - Build files (Dockerfile, docker-compose.yml, pyproject.toml, poetry.lock) - Core directories (apps/, cli/, packages/, scripts/, tests/, docs/) - Infrastructure (infra/, deployment/, systemd/) - Development (dev/, ai-memory/, config/) - Extensions (extensions/, plugins/, gpu_acceleration/) - Website (website/) - Contracts (contracts/, migration_examples/)
29 lines
1.6 KiB
Python
Executable File
29 lines
1.6 KiB
Python
Executable File
import sys
|
|
from click.testing import CliRunner
|
|
from aitbc_cli.commands.node import node
|
|
from aitbc_cli.core.config import MultiChainConfig
|
|
from unittest.mock import patch, MagicMock
|
|
import sys
|
|
|
|
runner = CliRunner()
|
|
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
|
|
|
|
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
|