mirror of
https://github.com/hansjone/netx.git
synced 2026-10-18 11:30:44 +08:00
MCP: add bizMonitor server, align ops/topology tools, harden CLI exec
- New packages/netx-bizmonitor-mcp: 8 read-only cutover/biz-state tools mirroring the netxops bizMonitor group. - Align netx-mcp (15) and netx-topology-mcp (16) with backend HTTP contracts; surface partial batch failures as tool errors. - CLI hard gate: single-line show/display only; exec job IDs, path containment, owner and ne:exec checks. - Cisco IOSv collection: stable prompt/echo handling over CR. - Remove legacy netx_api/mcp and mcp_server.py; add mcp.all.json; sync skills and docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
d8da7acb7d
commit
9085cac742
63 changed files with 3251 additions and 1092 deletions
|
|
@ -188,8 +188,9 @@ class ManagedNeApiTests(unittest.TestCase):
|
|||
self.assertEqual(listed.json()["total"], 1, listed.text)
|
||||
self.client.delete(f"/v1/managed-ne/{ne_id}")
|
||||
|
||||
def test_create_without_crypto_key(self):
|
||||
settings.credential_secret_key = ""
|
||||
@patch("netx_api.ne_service_common.credentials_configured", return_value=False)
|
||||
def test_create_without_crypto_key(self, mock_configured):
|
||||
# Empty settings now auto-provision a key; model an unavailable key explicitly.
|
||||
r = self.client.post(
|
||||
"/v1/managed-ne",
|
||||
json={
|
||||
|
|
@ -201,6 +202,7 @@ class ManagedNeApiTests(unittest.TestCase):
|
|||
},
|
||||
)
|
||||
self.assertEqual(r.status_code, 503, r.text)
|
||||
mock_configured.assert_called_once()
|
||||
|
||||
def test_delete_ume_sync_route_not_captured_by_ne_id(self):
|
||||
"""DELETE /ume-sync must not match DELETE /{ne_id} with ne_id='ume-sync'."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue