30 lines
1001 B
Python
30 lines
1001 B
Python
from ai_orchestrator.application.services.workers import RegisterWorkerRequest, WorkerService
|
|
from ai_orchestrator.infrastructure.storage.memory import (
|
|
InMemoryEventStore,
|
|
InMemoryWorkerRepository,
|
|
)
|
|
|
|
|
|
def test_worker_registration_creates_online_session_and_event() -> None:
|
|
worker_repository = InMemoryWorkerRepository()
|
|
event_store = InMemoryEventStore()
|
|
service = WorkerService(worker_repository=worker_repository, event_store=event_store)
|
|
|
|
response = service.register(
|
|
RegisterWorkerRequest(
|
|
worker_id="worker_home_pc",
|
|
name="Home PC",
|
|
machine="DESKTOP-1",
|
|
os="windows",
|
|
version="0.1.0",
|
|
capabilities=["file.read", "command.run"],
|
|
)
|
|
)
|
|
|
|
worker = response.worker
|
|
|
|
assert worker.status.value == "online"
|
|
assert worker_repository.get(worker.session_id) is not None
|
|
assert event_store.items[-1].event_type == "worker_registered"
|
|
assert response.reconnect is False
|