Initial curated ITWorx_MCP_Hub source from 368fba691ea8d23403b4d56b53b5ec670d7c5020
This commit is contained in:
commit
cb5be898ea
663 files changed
+82674
No files matched your search
@@ -0,0 +1,95 @@
|
||||
"""Deterministic broker client fake for Unraid connector tests."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from packages.connector_kit import ConnectorContext
|
||||
|
||||
|
||||
class FakeBrokerClient:
|
||||
def __init__(self, *, fail: bool = False) -> None:
|
||||
self.fail = fail
|
||||
self.calls: list[str] = []
|
||||
|
||||
def _check(self, operation: str) -> None:
|
||||
self.calls.append(operation)
|
||||
if self.fail:
|
||||
raise RuntimeError("broker unavailable")
|
||||
|
||||
def host(self, context: ConnectorContext) -> dict[str, Any]:
|
||||
self._check("host")
|
||||
return {
|
||||
"hostRef": "unraid",
|
||||
"hostname": "unraid-test",
|
||||
"uptimeSeconds": 3600,
|
||||
"cpuPercent": 12.5,
|
||||
"memoryUsedBytes": 100,
|
||||
"memoryTotalBytes": 1000,
|
||||
"dockerVersion": "27.0.0",
|
||||
}
|
||||
|
||||
def storage(self, context: ConnectorContext) -> dict[str, Any]:
|
||||
self._check("storage")
|
||||
return {
|
||||
"items": [
|
||||
{"name": "appdata", "driver": "local", "usageBytes": 1024, "capacityBytes": 4096}
|
||||
]
|
||||
}
|
||||
|
||||
def containers(self, context: ConnectorContext, state: str | None = None) -> dict[str, Any]:
|
||||
self._check("containers")
|
||||
return {
|
||||
"items": [
|
||||
{
|
||||
"containerRef": "ludarium-web",
|
||||
"name": "ludarium-web",
|
||||
"image": "web:1",
|
||||
"state": state or "running",
|
||||
"health": "healthy",
|
||||
"startedAt": "2026-08-01T10:00:00Z",
|
||||
"restartCount": 2,
|
||||
"ports": [],
|
||||
"networks": ["hub-connectors"],
|
||||
"labels": {"com.docker.compose.project": "ludarium"},
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
def inspect(self, context: ConnectorContext, registered_id: str) -> dict[str, Any]:
|
||||
self._check("inspect")
|
||||
return dict(self.containers(context)["items"][0]) | {"containerRef": registered_id}
|
||||
|
||||
def health(self, context: ConnectorContext, registered_id: str) -> dict[str, Any]:
|
||||
self._check("health")
|
||||
return {"status": "healthy", "running": True, "restartCount": 2}
|
||||
|
||||
def logs(
|
||||
self,
|
||||
context: ConnectorContext,
|
||||
registered_id: str,
|
||||
*,
|
||||
tail: int,
|
||||
since_seconds: int | None,
|
||||
contains: str | None,
|
||||
) -> dict[str, Any]:
|
||||
self._check("logs")
|
||||
return {
|
||||
"containerRef": registered_id,
|
||||
"lines": ["ready"],
|
||||
"truncated": False,
|
||||
"redactionsApplied": 0,
|
||||
}
|
||||
|
||||
def networks(self, context: ConnectorContext) -> dict[str, Any]:
|
||||
self._check("networks")
|
||||
return {
|
||||
"items": [
|
||||
{
|
||||
"name": "hub-connectors",
|
||||
"networkRef": "network-1",
|
||||
"driver": "bridge",
|
||||
"scope": "local",
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user