Some checks failed
Documentation Validation / validate-docs (push) Has been cancelled
API Endpoint Tests / test-api-endpoints (push) Successful in 40s
CLI Tests / test-cli (push) Successful in 1m3s
Integration Tests / test-service-integration (push) Successful in 1m19s
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Successful in 1m1s
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Successful in 24s
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Successful in 26s
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Successful in 15s
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Successful in 27s
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 1m1s
Python Tests / test-python (push) Successful in 1m28s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 47s
Security Scanning / security-scan (push) Successful in 1m23s
Smart Contract Tests / test-solidity (map[name:zk-circuits path:apps/zk-circuits]) (push) Successful in 51s
Systemd Sync / sync-systemd (push) Successful in 6s
Smart Contract Tests / lint-solidity (push) Successful in 1m4s
🔧 Workflow Enhancements: • Update CLI tests to use dedicated test runner with virtual environment • Add locust dependency to integration and python test workflows • Install Python packages in development mode for proper import testing • Add package import verification in python-tests workflow 🛠️ Package Testing Improvements: • Add Hardhat dependency installation for aitbc-token package • Add
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
from locust import HttpUser, task, between
|
|
import json
|
|
|
|
class AITBCUser(HttpUser):
|
|
wait_time = between(1, 3)
|
|
|
|
def on_start(self):
|
|
# Setup test - check if blockchain RPC is available
|
|
self.client.get("/health")
|
|
|
|
@task(3)
|
|
def check_blockchain_health(self):
|
|
"""Check blockchain health endpoint."""
|
|
self.client.get("/health")
|
|
|
|
@task(2)
|
|
def get_blockchain_head(self):
|
|
"""Get current block head."""
|
|
self.client.get("/rpc/head")
|
|
|
|
@task(2)
|
|
def get_mempool_status(self):
|
|
"""Get mempool status."""
|
|
self.client.get("/rpc/mempool")
|
|
|
|
@task(1)
|
|
def get_blockchain_info(self):
|
|
"""Get blockchain information."""
|
|
self.client.get("/docs")
|
|
|
|
@task(1)
|
|
def test_transaction_submission(self):
|
|
"""Test transaction submission (will likely fail but tests endpoint)."""
|
|
try:
|
|
self.client.post("/rpc/transaction", json={
|
|
"from": "test-address",
|
|
"to": "test-address-2",
|
|
"amount": 1,
|
|
"fee": 10,
|
|
"nonce": 0,
|
|
"payload": "0x",
|
|
"chain_id": "ait-mainnet"
|
|
})
|
|
except:
|
|
# Expected to fail due to invalid signature, but tests endpoint availability
|
|
pass
|