Complete implementation of the DCOS package including: - 40+ Python source files across agents, communication, core, learning, memory, protocols, utils - pyproject.toml build configuration - 102 unit tests across all subsystems - Fixed flake.nix (Python 3.12, proper dependencies, pyproject build) - Fixed .woodpecker.yml (correct paths, removed silent-fail flags) - Added .gitignore - Cleared stale pytest cache
28 lines
895 B
Python
28 lines
895 B
Python
"""
|
|
Tests for AddressResolver.
|
|
"""
|
|
|
|
import pytest
|
|
from dcos.communication.resolver import AddressResolver
|
|
|
|
|
|
class TestAddressResolver:
|
|
def test_resolve_by_name(self):
|
|
resolver = AddressResolver()
|
|
resolver.register("planner", "agent_001", role="planner")
|
|
assert resolver.resolve_by_name("planner") == "agent_001"
|
|
|
|
def test_resolve_by_role(self):
|
|
resolver = AddressResolver()
|
|
resolver.register("planner1", "agent_001", role="planner")
|
|
resolver.register("planner2", "agent_002", role="planner")
|
|
planners = resolver.resolve_by_role("planner")
|
|
assert len(planners) == 2
|
|
|
|
def test_unregister(self):
|
|
resolver = AddressResolver()
|
|
resolver.register("temp", "agent_temp")
|
|
removed = resolver.unregister("temp")
|
|
assert removed == "agent_temp"
|
|
assert resolver.resolve_by_name("temp") is None
|