Some checks failed
package-tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk python_version:3.13]) (push) Successful in 35s
package-tests / test-python-packages (map[name:aitbc-cli path:. python_version:3.13]) (push) Successful in 2s
package-tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core python_version:3.13]) (push) Successful in 3s
package-tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto python_version:3.13]) (push) Successful in 4s
package-tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk python_version:3.13]) (push) Successful in 2s
package-tests / test-javascript-packages (map[name:aitbc-sdk node_version:24 path:packages/js/aitbc-sdk]) (push) Failing after 1s
python-tests / test (push) Failing after 1s
package-tests / cross-language-compatibility (push) Has been skipped
package-tests / package-integration-tests (push) Has been skipped
python-tests / test-specific (push) Has been skipped
security-scanning / audit (push) Failing after 1s
integration-tests / test-service-integration (push) Successful in 1m24s
- Add pyproject.toml with modern Python packaging - Create src/ directory structure for standard layout - Add comprehensive test suite (test_agent_sdk.py) - Fix package discovery for linting tools - Resolve CI package test failures - Ensure proper import paths and module structure Changes: - packages/py/aitbc-agent-sdk/pyproject.toml (new) - packages/py/aitbc-agent-sdk/src/aitbc_agent/ (moved) - packages/py/aitbc-agent-sdk/tests/ (new) - Update setuptools configuration for src layout
78 lines
2.5 KiB
Python
78 lines
2.5 KiB
Python
"""Test suite for AITBC Agent SDK"""
|
|
|
|
import pytest
|
|
from aitbc_agent.agent import AITBCAgent
|
|
from aitbc_agent.compute_provider import ComputeProvider
|
|
from aitbc_agent.swarm_coordinator import SwarmCoordinator
|
|
|
|
|
|
class TestAITBCAgent:
|
|
"""Test AITBC Agent functionality"""
|
|
|
|
def test_agent_initialization(self):
|
|
"""Test agent can be initialized"""
|
|
agent = AITBCAgent(agent_id="test-agent")
|
|
assert agent.agent_id == "test-agent"
|
|
assert agent.status == "initialized"
|
|
|
|
def test_agent_config_validation(self):
|
|
"""Test agent configuration validation"""
|
|
config = {
|
|
"agent_id": "test-agent",
|
|
"compute_type": "gpu",
|
|
"capabilities": ["inference", "training"]
|
|
}
|
|
agent = AITBCAgent(**config)
|
|
assert agent.compute_type == "gpu"
|
|
assert "inference" in agent.capabilities
|
|
|
|
|
|
class TestComputeProvider:
|
|
"""Test Compute Provider functionality"""
|
|
|
|
def test_provider_registration(self):
|
|
"""Test provider can register with network"""
|
|
provider = ComputeProvider(
|
|
provider_id="test-provider",
|
|
gpu_count=4,
|
|
memory_gb=32
|
|
)
|
|
assert provider.provider_id == "test-provider"
|
|
assert provider.gpu_count == 4
|
|
assert provider.memory_gb == 32
|
|
|
|
def test_resource_availability(self):
|
|
"""Test resource availability reporting"""
|
|
provider = ComputeProvider(
|
|
provider_id="test-provider",
|
|
gpu_count=2,
|
|
memory_gb=16
|
|
)
|
|
resources = provider.get_available_resources()
|
|
assert resources["gpu_count"] == 2
|
|
assert resources["memory_gb"] == 16
|
|
|
|
|
|
class TestSwarmCoordinator:
|
|
"""Test Swarm Coordinator functionality"""
|
|
|
|
def test_coordinator_initialization(self):
|
|
"""Test coordinator initialization"""
|
|
coordinator = SwarmCoordinator(coordinator_id="test-coordinator")
|
|
assert coordinator.coordinator_id == "test-coordinator"
|
|
assert len(coordinator.agents) == 0
|
|
|
|
def test_agent_registration(self):
|
|
"""Test agent registration with coordinator"""
|
|
coordinator = SwarmCoordinator(coordinator_id="test-coordinator")
|
|
agent = AITBCAgent(agent_id="test-agent")
|
|
|
|
success = coordinator.register_agent(agent)
|
|
assert success is True
|
|
assert len(coordinator.agents) == 1
|
|
assert "test-agent" in coordinator.agents
|
|
|
|
|
|
if __name__ == "__main__":
|
|
pytest.main([__file__])
|