1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
import pytest
# Copyright (c) 2017-2019 David Steele <dsteele@gmail.com>
#
# SPDX-License-Identifier: GPL-2.0-or-later
# License-Filename: LICENSE
from mock import Mock, patch
from comitup import nm
@pytest.fixture()
def no_device_fxt(monkeypatch):
monkeypatch.setattr("comitup.nm.nm.NetworkManager.GetDevices",
Mock(return_value=[]))
return None
@pytest.fixture()
def device_no_conn_fxt(monkeypatch):
device = Mock()
device.ActiveConnection = None
monkeypatch.setattr("comitup.nm.nm.NetworkManager.GetDevices",
Mock(return_value=[device]))
return None
@pytest.fixture()
def device_fxt(monkeypatch):
device = Mock()
device.DeviceType = 2
device.ActiveConnection.Connection.GetSettings.return_value = {
'802-11-wireless': {
'ssid': "myssid",
}
}
device.Ip4Config.Addresses = [['1.2.3.4', '5.6.7.8', '1.2.3.1']]
point = Mock()
point.Ssid = "myssid"
point.Strength = 100
getAllAccessPoints = Mock()
getAllAccessPoints.GetAllAccessPoints.return_value = [point]
device.SpecificDevice.return_value = getAllAccessPoints
monkeypatch.setattr("comitup.nm.nm.NetworkManager.GetDevices",
Mock(return_value=[device]))
return None
@pytest.fixture()
def no_connections_fxt(monkeypatch):
monkeypatch.setattr("comitup.nm.nm.Settings.ListConnections",
Mock(return_value=[]))
return None
@pytest.fixture()
def connections_fxt(monkeypatch):
connection = Mock()
connection.GetSettings.return_value = {
'802-11-wireless': {
'ssid': "myssid",
}
}
monkeypatch.setattr("comitup.nm.nm.Settings.ListConnections",
Mock(return_value=[connection]))
return connection
@pytest.mark.parametrize("func", (
nm.get_wifi_device,
nm.get_active_ssid,
nm.get_active_ip,
nm.get_access_points,
)
)
def test_none_dev(no_device_fxt, func):
if func is nm.get_wifi_device:
assert func(0) is None
else:
assert func(nm.get_wifi_device()) is None
def test_no_active_ssid(device_no_conn_fxt):
assert nm.get_active_ssid(nm.get_wifi_device()) is None
def test_get_active_ssid(device_fxt):
assert nm.get_active_ssid(nm.get_wifi_device()) == "myssid"
def test_get_active_ip(device_fxt):
assert nm.get_active_ip(nm.get_wifi_device()) == '1.2.3.4'
def test_no_conn(no_connections_fxt):
assert nm.get_connection_by_ssid('ssid') is None
def test_get_connection_by_ssid(connections_fxt):
assert nm.get_connection_by_ssid("myssid")
assert not nm.get_connection_by_ssid("bogusssid")
def test_del_connection_by_ssid(connections_fxt):
nm.del_connection_by_ssid("myssid")
assert connections_fxt.Delete.called
@patch('comitup.nm.get_wifi_device')
def test_activate_connection_by_id(get_dev, monkeypatch, connections_fxt):
activate = Mock()
monkeypatch.setattr("comitup.nm.nm.NetworkManager.ActivateConnection",
activate)
nm.activate_connection_by_ssid("myssid", nm.get_wifi_device())
assert activate.called
def test_make_hotspot(monkeypatch):
addconnection = Mock()
monkeypatch.setattr("comitup.nm.nm.Settings.AddConnection", addconnection)
nm.make_hotspot()
assert addconnection.called
def test_make_connection_for(monkeypatch):
addconnection = Mock()
monkeypatch.setattr("comitup.nm.nm.Settings.AddConnection", addconnection)
nm.make_connection_for("anssid", "password")
assert addconnection.called
def test_do_listaccess(device_fxt):
nm.do_listaccess(None)
|