async def test_ports(): """Test that different types of ports work.""" mock_requests = MagicMock(return_value=Future()) mock_requests.return_value.set_result("") wlans = Wlans(WLANS, mock_requests) assert len(wlans.values()) == 2 wlan = wlans["SSID 1"] assert wlan.id == "012345678910111213141516" assert wlan.bc_filter_enabled == False assert wlan.bc_filter_list == [] assert wlan.dtim_mode == "default" assert wlan.dtim_na == 1 assert wlan.dtim_ng == 1 assert wlan.enabled is True assert wlan.group_rekey == 3600 assert wlan.is_guest is False assert wlan.mac_filter_enabled is False assert wlan.mac_filter_list == [] assert wlan.mac_filter_policy == "allow" assert wlan.minrate_na_advertising_rates is False assert wlan.minrate_na_beacon_rate_kbps == 6000 assert wlan.minrate_na_data_rate_kbps == 6000 assert wlan.minrate_na_enabled is False assert wlan.minrate_na_mgmt_rate_kbps == 6000 assert wlan.minrate_ng_advertising_rates is False assert wlan.minrate_ng_beacon_rate_kbps == 1000 assert wlan.minrate_ng_cck_rates_enabled is False assert wlan.minrate_ng_data_rate_kbps == 1000 assert wlan.minrate_ng_enabled is False assert wlan.minrate_ng_mgmt_rate_kbps == 1000 assert wlan.name == "SSID 1" assert wlan.name_combine_enabled is True assert wlan.name_combine_suffix == "" assert wlan.no2ghz_oui is False assert wlan.schedule == [] assert wlan.security == "wpapsk" assert wlan.site_id == "5a32aa4ee4b0412345678910" assert wlan.usergroup_id == "012345678910111213141518" assert wlan.wep_idx == 1 assert wlan.wlangroup_id == "012345678910111213141519" assert wlan.wpa_enc == "ccmp" assert wlan.wpa_mode == "wpa2" assert wlan.x_iapp_key == "01234567891011121314151617181920" assert wlan.x_passphrase == "password in clear text" await wlans.async_enable(wlan) mock_requests.assert_called_with("put", "/rest/wlanconf/012345678910111213141516", json={"enabled": True}) await wlans.async_disable(wlan) mock_requests.assert_called_with("put", "/rest/wlanconf/012345678910111213141516", json={"enabled": False})
async def test_clients(): """Test clients class.""" mock_requests = MagicMock(return_value=Future()) mock_requests.return_value.set_result("") clients = Clients([WIRELESS_CLIENT], mock_requests) assert len(clients.values()) == 1 client = clients[WIRELESS_CLIENT["mac"]] assert client.blocked is False assert client.essid == "SSID" assert client.hostname == "client" assert client.ip == "10.0.0.1" assert client.is_guest is False assert client.is_wired is False assert client.last_seen == 1587765360 assert client.mac == WIRELESS_CLIENT["mac"] assert client.name == "Client 1" assert client.oui == "Apple" assert client.site_id == "5a32aa4ee4b0412345678910" assert client.sw_depth == -1 assert client.sw_mac == "fc:ec:da:11:22:33" assert client.sw_port == 1 assert client.rx_bytes == 12867114 assert client.tx_bytes == 52852089 assert client.uptime == 11904 assert client.wired_rx_bytes == 0 assert client.wired_tx_bytes == 0 assert (client.__repr__() == f"<Client Client 1: 00:00:00:00:00:01 {WIRELESS_CLIENT}>") await clients.async_block(WIRELESS_CLIENT["mac"]) mock_requests.assert_called_with("post", "/cmd/stamgr", json={ "mac": WIRELESS_CLIENT["mac"], "cmd": "block-sta" }) await clients.async_unblock(WIRELESS_CLIENT["mac"]) mock_requests.assert_called_with( "post", "/cmd/stamgr", json={ "mac": WIRELESS_CLIENT["mac"], "cmd": "unblock-sta" }, )
async def test_device_switch(): """Test device class on aswitch.""" mock_requests = MagicMock(return_value=Future()) mock_requests.return_value.set_result("") devices = Devices([SWITCH_16_PORT_POE], mock_requests) assert len(devices.values()) == 1 switch = devices[SWITCH_16_PORT_POE["mac"]] assert switch.board_rev == 9 assert switch.considered_lost_at == 1588175821 assert switch.disabled is False assert switch.id == "235678987654345678" assert switch.ip == "192.168.0.57" assert switch.fan_level == 0 assert switch.has_fan is True assert switch.last_seen == 1588175722 assert switch.mac == "fc:ec:da:11:22:33" assert switch.model == "US16P150" assert switch.name == "Switch 16" assert switch.next_interval == 23 assert switch.next_heartbeat_at == 1588175755 assert switch.overheating is False assert switch.port_overrides == [ { "poe_mode": "off", "port_idx": 3, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "poe_mode": "auto", "port_idx": 4, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "poe_mode": "auto", "port_idx": 16, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, ] assert switch.port_table == SWITCH_16_PORT_POE["port_table"] assert switch.state == 1 assert switch.sys_stats == { "loadavg_1": "2.82", "loadavg_15": "2.81", "loadavg_5": "2.80", "mem_buffer": 0, "mem_total": 262402048, "mem_used": 129331200, } assert switch.type == "usw" assert switch.version == "4.0.66.10832" assert switch.upgradable is True assert switch.upgrade_to_firmware == "4.0.80.10875" assert switch.uplink_depth == 2 assert switch.user_num_sta == 4 assert switch.wlan_overrides == [] assert switch.__repr__() == f"<Device {switch.name}: {switch.mac}>" await switch.async_set_port_poe_mode(1, "off") mock_requests.assert_called_with( "put", "/rest/device/235678987654345678", json={ "port_overrides": [ { "poe_mode": "off", "port_idx": 3, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "poe_mode": "auto", "port_idx": 4, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "poe_mode": "auto", "port_idx": 16, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "port_idx": 1, "portconf_id": "5a32aa4ee4babd4452422ddd22222", "poe_mode": "off", }, ] }, ) await switch.async_set_port_poe_mode(3, "off") mock_requests.assert_called_with( "put", "/rest/device/235678987654345678", json={ "port_overrides": [ { "poe_mode": "off", "port_idx": 3, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "poe_mode": "auto", "port_idx": 4, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "poe_mode": "auto", "port_idx": 16, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, { "poe_mode": "off", "port_idx": 1, "portconf_id": "5a32aa4ee4babd4452422ddd22222", }, ] }, ) assert len(switch.ports.values()) == 18 switch_port_1 = switch.ports[1] assert switch_port_1.ifname is None assert switch_port_1.media == "GE" assert switch_port_1.name == "Port 1" assert switch_port_1.port_idx == 1 assert switch_port_1.poe_class == "Unknown" assert switch_port_1.poe_enable is False assert switch_port_1.poe_mode == "auto" assert switch_port_1.poe_power == "0.00" assert switch_port_1.poe_voltage == "0.00" assert switch_port_1.portconf_id == "5a32aa4ee4babd4452422ddd22222" assert switch_port_1.port_poe is True assert switch_port_1.up is True assert ( switch_port_1.__repr__() == f"<{switch_port_1.name}: Poe {switch_port_1.poe_enable}>" ) switch_port_2 = switch.ports[2] assert switch_port_2.ifname is None assert switch_port_2.media == "GE" assert switch_port_2.name == "Port 2" assert switch_port_2.port_idx == 2 assert switch_port_2.poe_class == "Unknown" assert switch_port_2.poe_enable is False assert switch_port_2.poe_mode == "auto" assert switch_port_2.poe_power == "0.00" assert switch_port_2.poe_voltage == "0.00" assert switch_port_2.portconf_id == "5a32aa4ee4babd4452422ddd22222" assert switch_port_2.port_poe is True assert switch_port_2.up is False assert ( switch_port_2.__repr__() == f"<{switch_port_2.name}: Poe {switch_port_2.poe_enable}>" ) switch_port_3 = switch.ports[3] assert switch_port_3.ifname is None assert switch_port_3.media == "GE" assert switch_port_3.name == "Port 3" assert switch_port_3.port_idx == 3 assert switch_port_3.poe_class == "Class 3" assert switch_port_3.poe_enable is True assert switch_port_3.poe_mode == "auto" assert switch_port_3.poe_power == "3.24" assert switch_port_3.poe_voltage == "53.78" assert switch_port_3.portconf_id == "5a32aa4ee4babd4452422ddd22222" assert switch_port_3.port_poe is True assert switch_port_3.up is True assert ( switch_port_3.__repr__() == f"<{switch_port_3.name}: Poe {switch_port_3.poe_enable}>" ) switch_port_4 = switch.ports[4] assert switch_port_4.ifname is None assert switch_port_4.media == "GE" assert switch_port_4.name == "Port 4" assert switch_port_4.port_idx == 4 assert switch_port_4.poe_class == "Class 2" assert switch_port_4.poe_enable is True assert switch_port_4.poe_mode == "auto" assert switch_port_4.poe_power == "1.50" assert switch_port_4.poe_voltage == "53.85" assert switch_port_4.portconf_id == "5a32aa4ee4babd4452422ddd22222" assert switch_port_4.port_poe is True assert switch_port_4.up is True assert ( switch_port_4.__repr__() == f"<{switch_port_4.name}: Poe {switch_port_4.poe_enable}>" ) switch_port_5 = switch.ports[5] assert switch_port_5.ifname is None assert switch_port_5.media == "GE" assert switch_port_5.name == "Port 5" assert switch_port_5.port_idx == 5 assert switch_port_5.poe_class == "Unknown" assert switch_port_5.poe_enable is False assert switch_port_5.poe_mode == "auto" assert switch_port_5.poe_power == "0.00" assert switch_port_5.poe_voltage == "0.00" assert switch_port_5.portconf_id == "5a32aa4ee4babd4452422ddd22222" assert switch_port_5.port_poe is True assert switch_port_5.up is False assert ( switch_port_5.__repr__() == f"<{switch_port_5.name}: Poe {switch_port_5.poe_enable}>" ) switch_port_6 = switch.ports[6] assert switch_port_6.ifname is None assert switch_port_6.media == "GE" assert switch_port_6.name == "Port 6" assert switch_port_6.port_idx == 6 assert switch_port_6.poe_class == "Unknown" assert switch_port_6.poe_enable is False assert switch_port_6.poe_mode == "auto" assert switch_port_6.poe_power == "0.00" assert switch_port_6.poe_voltage == "0.00" assert switch_port_6.portconf_id == "5a32aa4ee4babd4452422ddd22222" assert switch_port_6.port_poe is True assert switch_port_6.up is False assert ( switch_port_6.__repr__() == f"<{switch_port_6.name}: Poe {switch_port_6.poe_enable}>" )