chore: remove outdated documentation and reference files
Some checks failed
AITBC CI/CD Pipeline / lint-and-test (3.11) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.12) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.13) (push) Has been cancelled
AITBC CI/CD Pipeline / test-cli (push) Has been cancelled
AITBC CI/CD Pipeline / test-services (push) Has been cancelled
AITBC CI/CD Pipeline / test-production-services (push) Has been cancelled
AITBC CI/CD Pipeline / security-scan (push) Has been cancelled
AITBC CI/CD Pipeline / build (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-staging (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-production (push) Has been cancelled
AITBC CI/CD Pipeline / performance-test (push) Has been cancelled
AITBC CI/CD Pipeline / docs (push) Has been cancelled
AITBC CI/CD Pipeline / release (push) Has been cancelled
AITBC CI/CD Pipeline / notify (push) Has been cancelled
Security Scanning / Bandit Security Scan (apps/coordinator-api/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (cli/aitbc_cli) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-core/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-crypto/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-sdk/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (tests) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (javascript) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (python) (push) Has been cancelled
Security Scanning / Dependency Security Scan (push) Has been cancelled
Security Scanning / Container Security Scan (push) Has been cancelled
Security Scanning / OSSF Scorecard (push) Has been cancelled
Security Scanning / Security Summary Report (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.11) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.12) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.13) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-summary (push) Has been cancelled

- Remove debugging service documentation (DEBUgging_SERVICES.md)
- Remove development logs policy and quick reference guides
- Remove E2E test creation summary
- Remove gift certificate example file
- Remove GitHub pull summary documentation
This commit is contained in:
2026-03-25 12:56:07 +01:00
parent 26f7dd5ad0
commit bfe6f94b75
229 changed files with 537 additions and 381 deletions

View File

@@ -4,30 +4,30 @@
case "${1:-help}" in
"start")
echo "Starting AITBC services..."
sudo systemctl start aitbc-coordinator-api.service
sudo systemctl start aitbc-blockchain-node.service
sudo systemctl start aitbc-blockchain-rpc.service
systemctl start aitbc-coordinator-api.service
systemctl start aitbc-blockchain-node.service
systemctl start aitbc-blockchain-rpc.service
echo "Services started"
;;
"stop")
echo "Stopping AITBC services..."
sudo systemctl stop aitbc-coordinator-api.service
sudo systemctl stop aitbc-blockchain-node.service
sudo systemctl stop aitbc-blockchain-rpc.service
systemctl stop aitbc-coordinator-api.service
systemctl stop aitbc-blockchain-node.service
systemctl stop aitbc-blockchain-rpc.service
echo "Services stopped"
;;
"restart")
echo "Restarting AITBC services..."
sudo systemctl restart aitbc-coordinator-api.service
sudo systemctl restart aitbc-blockchain-node.service
sudo systemctl restart aitbc-blockchain-rpc.service
systemctl restart aitbc-coordinator-api.service
systemctl restart aitbc-blockchain-node.service
systemctl restart aitbc-blockchain-rpc.service
echo "Services restarted"
;;
"status")
echo "=== AITBC Services Status ==="
sudo systemctl status aitbc-coordinator-api.service --no-pager
sudo systemctl status aitbc-blockchain-node.service --no-pager
sudo systemctl status aitbc-blockchain-rpc.service --no-pager
systemctl status aitbc-coordinator-api.service --no-pager
systemctl status aitbc-blockchain-node.service --no-pager
systemctl status aitbc-blockchain-rpc.service --no-pager
;;
"logs")
echo "=== AITBC Service Logs ==="

View File

@@ -0,0 +1,32 @@
import sys
from pathlib import Path
import json
# Setup sys.path
sys.path.insert(0, str(Path('/opt/aitbc/apps/blockchain-node/src')))
from aitbc_chain.config import settings
from aitbc_chain.mempool import init_mempool, get_mempool
# Use development mempool backend configuration exactly like main node
init_mempool(
backend=settings.mempool_backend,
db_path=str(settings.db_path.parent / "mempool.db"),
max_size=settings.mempool_max_size,
min_fee=settings.min_fee,
)
mempool = get_mempool()
print(f"Mempool class: {mempool.__class__.__name__}")
print(f"Mempool DB path: {mempool._db_path}")
chain_id = 'ait-mainnet'
rows = mempool._conn.execute("SELECT * FROM mempool WHERE chain_id = ?", (chain_id,)).fetchall()
print(f"Found {len(rows)} raw rows in DB")
for r in rows:
print(r)
txs = mempool.drain(100, 1000000, chain_id)
print(f"Drained {len(txs)} txs")
for tx in txs:
print(tx)

261
scripts/testing/run_all_tests.sh Executable file
View File

@@ -0,0 +1,261 @@
#!/bin/bash
# Master Test Runner for Multi-Site AITBC Testing
echo "🚀 Multi-Site AITBC Test Suite Master Runner"
echo "=========================================="
echo "Testing localhost, aitbc, and aitbc1 with all CLI features"
echo ""
# Resolve project root (directory containing this script)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR" && pwd)"
# Function to run a test scenario
run_scenario() {
local scenario_name=$1
local script_path=$2
echo ""
echo "🔧 Running $scenario_name"
echo "================================"
if [ -f "$script_path" ]; then
bash "$script_path"
local exit_code=$?
if [ $exit_code -eq 0 ]; then
echo "$scenario_name completed successfully"
else
echo "$scenario_name failed with exit code $exit_code"
fi
return $exit_code
else
echo "❌ Script not found: $script_path"
return 1
fi
}
# Function to check prerequisites
check_prerequisites() {
echo "🔍 Checking prerequisites..."
echo "=========================="
# Check if aitbc CLI is available
if command -v aitbc &> /dev/null; then
echo "✅ AITBC CLI found"
aitbc --version | head -1
else
echo "❌ AITBC CLI not found in PATH"
echo "Please ensure CLI is installed and in PATH"
return 1
fi
# Check if required services are running
echo ""
echo "🌐 Checking service connectivity..."
# Check aitbc connectivity
if curl -s http://127.0.0.1:18000/v1/health &> /dev/null; then
echo "✅ aitbc marketplace accessible (port 18000)"
else
echo "❌ aitbc marketplace not accessible (port 18000)"
fi
# Check aitbc1 connectivity
if curl -s http://127.0.0.1:18001/v1/health &> /dev/null; then
echo "✅ aitbc1 marketplace accessible (port 18001)"
else
echo "❌ aitbc1 marketplace not accessible (port 18001)"
fi
# Check Ollama
if ollama list &> /dev/null; then
echo "✅ Ollama GPU service available"
ollama list | head -3
else
echo "❌ Ollama GPU service not available"
fi
# Check SSH access to containers
echo ""
echo "🏢 Checking container access..."
if ssh aitbc-cascade "echo 'SSH OK'" &> /dev/null; then
echo "✅ SSH access to aitbc container"
else
echo "❌ SSH access to aitbc container failed"
fi
if ssh aitbc1-cascade "echo 'SSH OK'" &> /dev/null; then
echo "✅ SSH access to aitbc1 container"
else
echo "❌ SSH access to aitbc1 container failed"
fi
echo ""
echo "📋 Checking user configurations..."
# Check miner1 and client1 configurations (relative to project root)
local home_dir="$PROJECT_ROOT/home"
if [ -f "$home_dir/miner1/miner_wallet.json" ]; then
echo "✅ miner1 configuration found"
else
echo "❌ miner1 configuration missing"
fi
if [ -f "$home_dir/client1/client_wallet.json" ]; then
echo "✅ client1 configuration found"
else
echo "❌ client1 configuration missing"
fi
echo ""
echo "🔧 Prerequisite check complete"
echo "=============================="
}
# Function to run comprehensive CLI tests
run_cli_tests() {
echo ""
echo "🔧 Running Comprehensive CLI Tests"
echo "================================="
local cli_commands=(
"chain:list:aitbc chain list --node-endpoint http://127.0.0.1:18000"
"chain:list:aitbc1:aitbc chain list --node-endpoint http://127.0.0.1:18001"
"analytics:summary:aitbc:aitbc analytics summary --node-endpoint http://127.0.0.1:18000"
"analytics:summary:aitbc1:aitbc analytics summary --node-endpoint http://127.0.0.1:18001"
"marketplace:list:aitbc:aitbc marketplace list --marketplace-url http://127.0.0.1:18000"
"marketplace:list:aitbc1:aitbc marketplace list --marketplace-url http://127.0.0.1:18001"
"agent_comm:list:aitbc:aitbc agent_comm list --node-endpoint http://127.0.0.1:18000"
"agent_comm:list:aitbc1:aitbc agent_comm list --node-endpoint http://127.0.0.1:18001"
"deploy:overview:aitbc deploy overview --format table"
)
local passed=0
local total=0
for cmd_info in "${cli_commands[@]}"; do
IFS=':' read -r test_name command <<< "$cmd_info"
total=$((total + 1))
echo "Testing: $test_name"
if eval "$command" &> /dev/null; then
echo "$test_name - PASSED"
passed=$((passed + 1))
else
echo "$test_name - FAILED"
fi
done
echo ""
echo "CLI Test Results: $passed/$total passed"
return $((total - passed))
}
# Function to generate final report
generate_report() {
local total_scenarios=$1
local passed_scenarios=$2
local failed_scenarios=$((total_scenarios - passed_scenarios))
echo ""
echo "📊 FINAL TEST REPORT"
echo "==================="
echo "Total Scenarios: $total_scenarios"
echo "Passed: $passed_scenarios"
echo "Failed: $failed_scenarios"
if [ $failed_scenarios -eq 0 ]; then
echo ""
echo "🎉 ALL TESTS PASSED!"
echo "Multi-site AITBC ecosystem is fully functional"
return 0
else
echo ""
echo "⚠️ SOME TESTS FAILED"
echo "Please check the failed scenarios and fix issues"
return 1
fi
}
# Main execution
main() {
local scenario_count=0
local passed_count=0
# Check prerequisites
if ! check_prerequisites; then
echo "❌ Prerequisites not met. Exiting."
exit 1
fi
# Run CLI tests first
echo ""
if run_cli_tests; then
echo "✅ All CLI tests passed"
passed_count=$((passed_count + 1))
else
echo "❌ Some CLI tests failed"
fi
scenario_count=$((scenario_count + 1))
# Run scenario tests
local scenarios=(
"Scenario A: Localhost GPU Miner → aitbc Marketplace:$PROJECT_ROOT/test_scenario_a.sh"
"Scenario B: Localhost GPU Client → aitbc1 Marketplace:$PROJECT_ROOT/test_scenario_b.sh"
"Scenario C: aitbc Container User Operations:$PROJECT_ROOT/test_scenario_c.sh"
"Scenario D: aitbc1 Container User Operations:$PROJECT_ROOT/test_scenario_d.sh"
)
for scenario_info in "${scenarios[@]}"; do
IFS=':' read -r scenario_name script_path <<< "$scenario_info"
scenario_count=$((scenario_count + 1))
if run_scenario "$scenario_name" "$script_path"; then
passed_count=$((passed_count + 1))
fi
done
# Run comprehensive test suite
echo ""
echo "🔧 Running Comprehensive Test Suite"
echo "=================================="
if python3 "$PROJECT_ROOT/test_multi_site.py"; then
echo "✅ Comprehensive test suite passed"
passed_count=$((passed_count + 1))
else
echo "❌ Comprehensive test suite failed"
fi
scenario_count=$((scenario_count + 1))
# Generate final report
generate_report $scenario_count $passed_count
}
# Parse command line arguments
case "${1:-all}" in
"prereq")
check_prerequisites
;;
"cli")
run_cli_tests
;;
"scenario-a")
run_scenario "Scenario A" "$PROJECT_ROOT/test_scenario_a.sh"
;;
"scenario-b")
run_scenario "Scenario B" "$PROJECT_ROOT/test_scenario_b.sh"
;;
"scenario-c")
run_scenario "Scenario C" "$PROJECT_ROOT/test_scenario_c.sh"
;;
"scenario-d")
run_scenario "Scenario D" "$PROJECT_ROOT/test_scenario_d.sh"
;;
"comprehensive")
python3 "$PROJECT_ROOT/test_multi_site.py"
;;
"all"|*)
main
;;
esac

28
scripts/testing/run_test.py Executable file
View File

@@ -0,0 +1,28 @@
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

View File

@@ -0,0 +1,16 @@
import asyncio
from broadcaster import Broadcast
async def main():
broadcast = Broadcast("redis://localhost:6379")
await broadcast.connect()
print("connected")
async with broadcast.subscribe("test") as sub:
print("subscribed")
await broadcast.publish("test", "hello")
async for msg in sub:
print("msg:", msg.message)
break
await broadcast.disconnect()
asyncio.run(main())

View File

@@ -0,0 +1,10 @@
import requests
try:
response = requests.get('http://127.0.0.1:8000/v1/marketplace/offers')
print("Offers:", response.status_code)
response = requests.get('http://127.0.0.1:8000/v1/marketplace/stats')
print("Stats:", response.status_code)
except Exception as e:
print("Error:", e)

View File

@@ -0,0 +1,23 @@
import sys
import asyncio
from sqlmodel import Session, create_engine
from app.services.marketplace_enhanced_simple import EnhancedMarketplaceService
from app.database import engine
from app.domain.marketplace import MarketplaceBid
async def run():
with Session(engine) as session:
# insert a bid to test amount vs price
bid = MarketplaceBid(provider="prov", capacity=10, price=1.0)
session.add(bid)
session.commit()
service = EnhancedMarketplaceService(session)
try:
res = await service.get_marketplace_analytics(period_days=30, metrics=["volume", "revenue"])
print(res)
except Exception as e:
import traceback
traceback.print_exc()
asyncio.run(run())

View File

@@ -0,0 +1,21 @@
import asyncio
from apps.agent_services.agent_bridge.src.integration_layer import AgentServiceBridge
async def main():
bridge = AgentServiceBridge()
# Let's inspect the actual payload
payload = {
"name": "test-agent-123",
"type": "trading",
"capabilities": ["trade"],
"chain_id": "ait-mainnet",
"endpoint": "http://localhost:8005",
"version": "1.0.0",
"description": "Test trading agent"
}
async with bridge.integration as integration:
result = await integration.register_agent_with_coordinator(payload)
print(f"Result: {result}")
if __name__ == "__main__":
asyncio.run(main())

2
scripts/testing/test_send.sh Executable file
View File

@@ -0,0 +1,2 @@
export AITBC_WALLET="test_wallet"
aitbc wallet send aitbc1my-test-wallet_hd 50

View File

@@ -0,0 +1,22 @@
import json
wallet_data = {
"name": "test_wallet",
"type": "hd",
"address": "aitbc1genesis",
"private_key": "dummy",
"public_key": "dummy",
"encrypted": False,
"transactions": [],
"balance": 1000000
}
import os
import pathlib
wallet_dir = pathlib.Path("/root/.aitbc/wallets")
wallet_dir.mkdir(parents=True, exist_ok=True)
wallet_path = wallet_dir / "test_wallet.json"
with open(wallet_path, "w") as f:
json.dump(wallet_data, f)

Some files were not shown because too many files have changed in this diff Show More