initial commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
from napalm_opnsense.opnsense import OPNsenseDriver
|
||||
|
||||
|
||||
def main():
|
||||
driver = OPNsenseDriver(
|
||||
hostname="test.local",
|
||||
username="api_key",
|
||||
password="api_secret",
|
||||
optional_args={
|
||||
"base_url": "https://test.local",
|
||||
"verify": False,
|
||||
},
|
||||
)
|
||||
|
||||
# Mock API responses to avoid real network calls
|
||||
def fake_get(path: str):
|
||||
if path == "/api/core/system/status":
|
||||
return {
|
||||
"hostname": "opnsense01",
|
||||
"version": "24.7",
|
||||
"model": "OPNsense",
|
||||
"serial": "ABC123",
|
||||
"uptime": 12345,
|
||||
}
|
||||
if path == "/api/interfaces/overview/export":
|
||||
return {
|
||||
"interfaces": [
|
||||
{
|
||||
"name": "em0",
|
||||
"up": True,
|
||||
"enabled": True,
|
||||
"descr": "LAN",
|
||||
"mac": "AA:BB:CC:DD:EE:FF",
|
||||
"speed_mbps": 1000,
|
||||
"mtu": 1500,
|
||||
}
|
||||
]
|
||||
}
|
||||
if path == "/api/interfaces/addresses/export":
|
||||
return {
|
||||
"items": [
|
||||
{"interface": "em0", "address": "192.0.2.10", "prefix": 24},
|
||||
{"interface": "em0", "address": "2001:db8::1", "prefix": 64},
|
||||
]
|
||||
}
|
||||
return {}
|
||||
|
||||
# Monkeypatch before open()
|
||||
driver._get = fake_get # type: ignore
|
||||
|
||||
driver.open()
|
||||
|
||||
print("Facts:")
|
||||
print(driver.get_facts())
|
||||
|
||||
print("\nInterfaces:")
|
||||
print(driver.get_interfaces())
|
||||
|
||||
print("\nInterfaces IP:")
|
||||
print(driver.get_interfaces_ip())
|
||||
|
||||
driver.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user