"""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