Self-hosted, Docker-based agentic troubleshooting platform: FastAPI backend + LangGraph agent, Next.js UI, tiered LLM routing (local Ollama -> Gemini -> DeepSeek -> OpenRouter), MCP server manager, encrypted device credentials, RBAC, audit log, project-memory + Obsidian integrations, and editable troubleshooting decision rules tuned for the GeneseasX vessel stack. Co-authored-by: Cursor <cursoragent@cursor.com>
25 lines
898 B
Python
25 lines
898 B
Python
"""Tests for pfSense issue-aware diagnostics."""
|
|
from app.agent.pfsense_profiles import (
|
|
diagnostics_for_issue,
|
|
wants_firewall_inventory,
|
|
)
|
|
|
|
|
|
def test_wants_firewall_inventory():
|
|
assert wants_firewall_inventory("list Firewall rules", "policies for all interfaces")
|
|
assert wants_firewall_inventory("", "show me NAT port forwards")
|
|
|
|
|
|
def test_default_health_diagnostics():
|
|
tools = [t for t, _ in diagnostics_for_issue("Asterisk health", "check voip")]
|
|
assert "pfsense_list_firewall_rules" not in tools
|
|
assert "pfsense_get_system_status" in tools
|
|
|
|
|
|
def test_firewall_diagnostics():
|
|
tools = [t for t, _ in diagnostics_for_issue("list rules", "firewall policies")]
|
|
assert tools[0] == "pfsense_list_interfaces"
|
|
assert "pfsense_list_firewall_rules" in tools
|
|
assert "pfsense_list_port_forwards" in tools
|
|
assert "pfsense_list_outbound_nat_mappings" in tools
|