2026-01-25 18:01:48 +01:00

56 lines
1.4 KiB
Python

"""Test CLI generation"""
import pytest
from app.cli.generators import (
generate_hostname_cli,
generate_vlan_cli,
generate_interface_cli,
)
from app.cli.renderer import ConfigRenderer
def test_generate_hostname():
"""Test hostname generation"""
cmds = generate_hostname_cli("ROUTER-01")
assert cmds == ["hostname ROUTER-01"]
def test_generate_vlan():
"""Test VLAN generation"""
vlans = [
{"id": 10, "name": "USERS"},
{"id": 20, "name": "SERVERS"},
]
cmds = generate_vlan_cli(vlans)
assert "vlan 10" in cmds
assert " name USERS" in cmds
assert "vlan 20" in cmds
assert " name SERVERS" in cmds
def test_config_renderer():
"""Test full configuration rendering"""
config_data = {
"hostname": "SWITCH-01",
"vlans": [
{"id": 10, "name": "USERS"},
],
"interfaces": [
{
"name": "GigabitEthernet0/1",
"description": "Access Port",
"type": "access",
"vlan": 10,
"enabled": True,
}
],
}
renderer = ConfigRenderer()
cli_text = renderer.render(config_data)
assert "hostname SWITCH-01" in cli_text
assert "vlan 10" in cli_text
assert "interface GigabitEthernet0/1" in cli_text
assert "write memory" in cli_text