Skip to main content
Glama
mock_responses.py10 kB
""" Mock API responses for OPNsense API endpoints. This module contains realistic mock responses for various OPNsense API endpoints used throughout the test suite. """ from typing import Dict, Any, List # ========== System Responses ========== MOCK_SYSTEM_STATUS = { "uptime": "5 days, 3 hours, 42 minutes", "cpu_load": [0.15, 0.20, 0.18], "memory_usage": { "total": 16384, "free": 8192, "used": 8192, "percent": 50.0 }, "disk_usage": { "total": 500000, "free": 250000, "used": 250000, "percent": 50.0 } } MOCK_SYSTEM_HEALTH = { "cpu": { "temperature": 45.5, "usage_percent": 25.3 }, "memory": { "total_mb": 16384, "used_mb": 8192, "free_mb": 8192 }, "disk": { "filesystem": "/", "size_gb": 488.3, "used_gb": 244.1, "available_gb": 244.2 } } MOCK_FIRMWARE_STATUS = { "product_name": "OPNsense", "product_version": "24.1.1", "last_check": "2024-10-04T12:00:00Z", "status": "up-to-date" } # ========== Firewall Responses ========== MOCK_FIREWALL_RULES = { "rows": [ { "uuid": "rule-uuid-001", "enabled": "1", "sequence": "1", "action": "pass", "interface": "lan", "protocol": "tcp", "source": "any", "destination": "any", "destination_port": "80,443", "description": "Allow HTTP/HTTPS" }, { "uuid": "rule-uuid-002", "enabled": "1", "sequence": "2", "action": "block", "interface": "wan", "protocol": "any", "source": "any", "destination": "any", "description": "Block all from WAN" } ], "rowCount": 2 } MOCK_FIREWALL_ALIASES = { "aliases": { "alias": [ { "uuid": "alias-uuid-001", "enabled": "1", "name": "WebServers", "type": "host", "content": "192.168.1.10\n192.168.1.11", "description": "Web server IP addresses" }, { "uuid": "alias-uuid-002", "enabled": "1", "name": "BlockedIPs", "type": "network", "content": "10.0.0.0/8\n172.16.0.0/12", "description": "Blocked IP ranges" } ] } } # ========== NAT Responses ========== MOCK_NAT_OUTBOUND_RULES = { "rows": [ { "uuid": "nat-uuid-001", "enabled": "1", "interface": "wan", "source": "192.168.1.0/24", "destination": "any", "target": "wan_address", "description": "NAT LAN to WAN" } ], "rowCount": 1 } MOCK_NAT_ONE_TO_ONE_RULES = { "rows": [ { "uuid": "nat-121-uuid-001", "enabled": "1", "interface": "wan", "external": "203.0.113.10", "internal": "192.168.1.100", "description": "1:1 NAT for web server" } ], "rowCount": 1 } # ========== Network Responses ========== MOCK_INTERFACES = { "interfaces": { "lan": { "if": "em0", "descr": "LAN", "ipaddr": "192.168.1.1", "subnet": "24", "status": "up" }, "wan": { "if": "em1", "descr": "WAN", "ipaddr": "203.0.113.1", "subnet": "24", "status": "up" } } } MOCK_VLANS = { "vlan": [ { "uuid": "vlan-uuid-001", "if": "em0", "tag": "100", "pcp": "0", "description": "IoT VLAN" }, { "uuid": "vlan-uuid-002", "if": "em0", "tag": "200", "pcp": "0", "description": "Guest VLAN" } ] } # ========== DHCP Responses ========== MOCK_DHCP_LEASES = { "leases": [ { "address": "192.168.1.100", "mac": "aa:bb:cc:dd:ee:ff", "hostname": "test-device", "starts": "2024-10-04 10:00:00", "ends": "2024-10-04 22:00:00", "state": "active" }, { "address": "192.168.1.101", "mac": "11:22:33:44:55:66", "hostname": "laptop-001", "starts": "2024-10-04 09:00:00", "ends": "2024-10-04 21:00:00", "state": "active" } ] } MOCK_DHCP_SERVER_CONFIG = { "dhcpd": { "lan": { "enable": "1", "range": { "from": "192.168.1.100", "to": "192.168.1.200" }, "gateway": "192.168.1.1", "dns": ["8.8.8.8", "8.8.4.4"], "domain": "local.lan" } } } # ========== DNS Responses ========== MOCK_DNS_RESOLVER_SETTINGS = { "general": { "enabled": "1", "port": "53", "dnssec": "1" }, "advanced": { "cache": { "size": "256", "ttl_min": "60", "ttl_max": "86400" } } } MOCK_DNS_HOST_OVERRIDES = { "hosts": [ { "uuid": "host-uuid-001", "enabled": "1", "host": "server", "domain": "local.lan", "ip": "192.168.1.10", "description": "Internal server" } ] } # ========== Certificate Responses ========== MOCK_CERTIFICATES = { "certificates": [ { "uuid": "cert-uuid-001", "descr": "Web Server Certificate", "subject": { "CN": "server.local.lan", "O": "Test Organization" }, "issuer": { "CN": "Test CA", "O": "Test Organization" }, "valid_from": "2024-01-01 00:00:00", "valid_to": "2025-01-01 00:00:00", "in_use": True } ] } MOCK_CERTIFICATE_AUTHORITIES = { "ca": [ { "uuid": "ca-uuid-001", "descr": "Root CA", "subject": { "CN": "Test Root CA", "O": "Test Organization" }, "valid_from": "2024-01-01 00:00:00", "valid_to": "2034-01-01 00:00:00" } ] } # ========== User Responses ========== MOCK_USERS = { "users": [ { "uuid": "user-uuid-001", "name": "admin", "descr": "Administrator", "email": "admin@example.com", "disabled": "0", "groups": ["admins"], "priv": ["page-all"] }, { "uuid": "user-uuid-002", "name": "readonly", "descr": "Read-only user", "email": "readonly@example.com", "disabled": "0", "groups": ["operators"], "priv": ["page-dashboard-all"] } ] } MOCK_GROUPS = { "groups": [ { "uuid": "group-uuid-001", "name": "admins", "description": "Administrators", "member": ["user-uuid-001"], "priv": ["page-all"] }, { "uuid": "group-uuid-002", "name": "operators", "description": "Operators", "member": ["user-uuid-002"], "priv": ["page-dashboard-all"] } ] } MOCK_PRIVILEGES = { "privileges": [ {"name": "page-all", "descr": "All pages"}, {"name": "page-dashboard-all", "descr": "Dashboard pages"}, {"name": "page-firewall-all", "descr": "Firewall pages"}, {"name": "page-system-all", "descr": "System pages"} ] } # ========== Traffic Shaping Responses ========== MOCK_TRAFFIC_SHAPER_PIPES = { "pipe": [ { "uuid": "pipe-uuid-001", "enabled": "1", "number": "1", "bandwidth": "100", "bandwidthMetric": "Mbit", "queue": "100", "scheduler": "fq_codel", "description": "100Mbps pipe" } ] } MOCK_TRAFFIC_SHAPER_QUEUES = { "queue": [ { "uuid": "queue-uuid-001", "enabled": "1", "number": "1", "pipe": "1", "weight": "50", "description": "Medium priority queue" } ] } # ========== VPN Responses ========== MOCK_VPN_CONNECTIONS = { "openvpn": [ { "name": "Site-to-Site VPN", "status": "up", "mode": "p2p", "remote": "203.0.113.50" } ], "ipsec": [ { "name": "IPsec Tunnel", "status": "established", "local": "192.168.1.1", "remote": "203.0.113.60" } ], "wireguard": [] } # ========== Logging Responses ========== MOCK_SYSTEM_LOGS = { "log": [ {"timestamp": "2024-10-04 12:00:00", "severity": "info", "message": "System started"}, {"timestamp": "2024-10-04 12:01:00", "severity": "warning", "message": "High CPU usage"}, {"timestamp": "2024-10-04 12:02:00", "severity": "info", "message": "Service restarted"} ] } MOCK_FIREWALL_LOGS = { "log": [ { "timestamp": "2024-10-04 12:00:00", "action": "block", "interface": "wan", "protocol": "tcp", "src_ip": "203.0.113.100", "dst_ip": "192.168.1.1", "dst_port": "22" } ] } # ========== Generic Success/Error Responses ========== MOCK_SUCCESS_RESPONSE = { "result": "saved", "uuid": "test-uuid-123" } MOCK_ERROR_RESPONSE = { "result": "failed", "validations": { "field.name": "This field is required" } } MOCK_APPLY_SUCCESS = { "status": "ok", "message": "Configuration applied successfully" }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/floriangrousset/opnsense-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server