30
26
self.wifi_page.title,
31
27
Equals(_('Wi-Fi')))
33
def test_connect_to_hidden_network(self):
34
dialog = self.wifi_page.connect_to_hidden_network(
38
# allow backend to set up listeners
42
dialog.wait_until_destroyed()
44
def test_connect_to_eduroam(self):
45
self.create_access_point(
47
security=NM80211ApSecurityFlags.NM_802_11_AP_SEC_KEY_MGMT_802_1X
50
dialog = self.wifi_page.connect_to_hidden_network(
59
# allow backend to set up listeners
63
dialog.wait_until_destroyed()
65
dev = dbus.Interface(self.dbus_con.get_object(
66
'org.freedesktop.NetworkManager', self.device_path),
67
'org.freedesktop.DBus.Properties')
70
'org.freedesktop.NetworkManager.Device', 'AvailableConnections'
72
conn = dbus.Interface(self.dbus_con.get_object(
73
'org.freedesktop.NetworkManager', conn_obj),
74
'org.freedesktop.NetworkManager.Settings.Connection')
76
conn_settings = conn.GetSettings()
77
wconn = conn_settings['connection']
78
w802_11_sec = conn_settings['802-11-wireless-security']
79
w802_1x = conn_settings['802-1x']
81
self.assertEquals(wconn['type'], '802-11-wireless')
82
self.assertEquals(w802_11_sec['key-mgmt'], 'wpa-eap')
83
self.assertIn('peap', w802_1x['eap'])
84
self.assertEquals(w802_1x['identity'], 'student')
85
self.assertEquals(w802_1x['password'], 'a')
86
self.assertEquals(w802_1x['phase2-auth'], 'mschapv2')
88
def test_connect_to_nonexistant_hidden_network(self):
89
dialog = self.wifi_page.connect_to_hidden_network(
94
# allow backend to set up listeners
97
"""Mock a StateChanged signal on the Device, using a likely
98
scenario of a not found SSID:
99
newState = 120 # NM_DEVICE_STATE_FAILED
100
oldState = 0 # does not matter
101
reason = 53 # NM_DEVICE_STATE_REASON_SSID_NOT_FOUND
103
We manually emit this signal, because the networkmanager mock
104
currently does not support this. See [1].
106
[1] https://github.com/martinpitt/python-dbusmock/issues/8
109
self.device_mock.EmitSignal(
110
DEVICE_IFACE, 'StateChanged', 'uuu', [120, 0, 53])
113
dialog.text, Eventually(Equals(
114
_('The Wi-Fi network could not be found'))))
116
@skip('skipped due to %s' % (
117
'https://github.com/martinpitt/python-dbusmock/issues/7'))
118
def test_connect_to_hidden_network_using_secrets(self):
119
dialog = self.wifi_page.connect_to_hidden_network(
120
'test_ap', security='wpa', password='abcdefgh',
123
# allow backend to set up listeners
127
dialog.wait_until_destroyed()
129
@skip('skipped due to %s' % (
130
'https://github.com/martinpitt/python-dbusmock/issues/7'))
131
def test_connect_to_hidden_network_using_incorrect_secrets(self):
132
dialog = self.wifi_page.connect_to_hidden_network(
138
# allow backend to set up listeners
142
dialog.text, Eventually(Equals(
143
_('Your authentication details were incorrect'))))
145
@skip('networkmanager mock does not yet support deletion of cons')
146
def test_connect_to_hidden_network_then_cancel(self):
147
dialog = self.wifi_page.connect_to_hidden_network('foo',)
149
# allow backend to set up listeners
155
lambda: len(self.active_connection_mock.GetMethodCalls('Delete')),
156
Eventually(Equals(1)))
158
29
def test_remove_previous_network(self):
159
30
access_points = ['Series of Tubes', 'dev/null', 'Mi-Fi',