Python SDK — Testing¶
Mock Transport¶
Test without connecting to PhyCloud:
from phytrace.transport.mock import MockTransport
from phytrace import PhyTraceAgent, UDMEventBuilder, SourceType, EventType
async def test_event_emission():
transport = MockTransport()
agent = PhyTraceAgent(transport=transport)
event = (
UDMEventBuilder(source_id="robot-001", source_type=SourceType.AMR)
.with_event_type(EventType.TELEMETRY_PERIODIC)
.with_location(latitude=41.8781, longitude=-87.6298)
.build()
)
await agent.emit(event)
assert len(transport.sent_events) == 1
assert transport.sent_events[0].source_id == "robot-001"
Mock Mode¶
Run the full agent in mock mode:
agent = PhyTraceAgent.from_config(
"phytrace-agent.yaml",
mock_mode=True,
)
events = agent.get_mock_events()