Merge lp:~pete-woods/indicator-network/enterprise-wifi-invokes-system-settings into lp:indicator-network/15.10
- enterprise-wifi-invokes-system-settings
- Merge into trunk.15.10
Status: | Merged |
---|---|
Approved by: | Pete Woods |
Approved revision: | 503 |
Merged at revision: | 498 |
Proposed branch: | lp:~pete-woods/indicator-network/enterprise-wifi-invokes-system-settings |
Merge into: | lp:indicator-network/15.10 |
Prerequisite: | lp:~pete-woods/indicator-network/dual-sim-status |
Diff against target: |
943 lines (+292/-135) 12 files modified
src/indicator/menuitems/access-point-item.cpp (+1/-0) src/indicator/menuitems/wifi-link-item.cpp (+0/-1) src/indicator/nmofono/wifi/access-point-impl.cpp (+14/-1) src/indicator/nmofono/wifi/access-point-impl.h (+3/-1) src/indicator/nmofono/wifi/access-point.h (+2/-0) src/indicator/nmofono/wifi/grouped-access-point.cpp (+21/-0) src/indicator/nmofono/wifi/grouped-access-point.h (+2/-1) src/indicator/nmofono/wifi/wifi-link-impl.cpp (+33/-14) tests/integration/indicator-network-test-base.cpp (+41/-4) tests/integration/indicator-network-test-base.h (+4/-3) tests/integration/test-indicator.cpp (+167/-110) tests/unit/indicator/menuitems/test-access-point-item.cpp (+4/-0) |
To merge this branch: | bzr merge lp:~pete-woods/indicator-network/enterprise-wifi-invokes-system-settings |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Indicator Applet Developers | Pending | ||
Review via email: mp+263899@code.launchpad.net |
Commit message
Enteprise access points invoke the system settings app with details encoded in a URI
Description of the change
Enteprise access points invoke the system settings app with details encoded in a URI
PS Jenkins bot (ps-jenkins) wrote : | # |
Jonas G. Drange (jonas-drange) wrote : | # |
Pete, I went past the University today and tried silo 53. I tapped 'eduroam' in the indicator and it invoked System Settings as advertised. However, System Settings failed to create a connection due to the network being out of range.
Re-tapping 'eduroam', which was now green indicating it was connected, failed to invoke System Settings.
I suspected at the time that this was the fault of System Settings; it probably creates a NM connection object but never deletes it if it fails in this manner.
But then I removed the connection and did the following:
1. Tapped 'eduroam' in the indicator.
2. Pressed Cancel in the System Settings dialog.
This also made 'eduroam' appear green in the indicator, but I know for a fact that System Settings has not created a connection in this case.
Do you make sense of this?
Thanks.
Jonas
- 501. By Pete Woods
-
Add tests for enterprise WiFi trigger
- 502. By Pete Woods
-
Pass raw SSID through to URL dispatcher
Pete Woods (pete-woods) wrote : | # |
Thanks for reporting that. Will have to have a look at the connection code-path. It must assume the connection has succeeded, or something like that...
- 503. By Pete Woods
-
Stop faking the wifi connection state update
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:503
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
- 504. By Pete Woods
-
Fix URI spec to match what jgdx wanted, not what he said :)
Preview Diff
1 | === modified file 'src/indicator/menuitems/access-point-item.cpp' |
2 | --- src/indicator/menuitems/access-point-item.cpp 2015-04-14 11:20:17 +0000 |
3 | +++ src/indicator/menuitems/access-point-item.cpp 2015-07-08 08:49:46 +0000 |
4 | @@ -60,6 +60,7 @@ |
5 | m_item->setAttribute("x-canonical-type", TypedVariant<std::string>("unity.widgets.systemsettings.tablet.accesspoint")); |
6 | m_item->setAttribute("x-canonical-wifi-ap-is-adhoc", TypedVariant<bool>(m_accessPoint->adhoc())); |
7 | m_item->setAttribute("x-canonical-wifi-ap-is-secure", TypedVariant<bool>(m_accessPoint->secured())); |
8 | + m_item->setAttribute("x-canonical-wifi-ap-is-enterprise", TypedVariant<bool>(m_accessPoint->enterprise())); |
9 | m_item->setAttribute("x-canonical-wifi-ap-strength-action", TypedVariant<std::string>("indicator." + strengthActionId)); |
10 | |
11 | m_actionStrength = std::make_shared<Action>(strengthActionId, |
12 | |
13 | === modified file 'src/indicator/menuitems/wifi-link-item.cpp' |
14 | --- src/indicator/menuitems/wifi-link-item.cpp 2015-04-16 13:18:24 +0000 |
15 | +++ src/indicator/menuitems/wifi-link-item.cpp 2015-07-08 08:49:46 +0000 |
16 | @@ -164,7 +164,6 @@ |
17 | bool isActive = (ap == m_activeAccessPoint); |
18 | auto item = std::make_shared<AccessPointItem>(ap, isActive); |
19 | connect(item.get(), &AccessPointItem::activated, [this, ap](){ |
20 | - updateActiveAccessPoint(ap); |
21 | m_link->connect_to(ap); |
22 | }); |
23 | m_accessPoints[ap] = item; |
24 | |
25 | === modified file 'src/indicator/nmofono/wifi/access-point-impl.cpp' |
26 | --- src/indicator/nmofono/wifi/access-point-impl.cpp 2015-05-05 16:15:26 +0000 |
27 | +++ src/indicator/nmofono/wifi/access-point-impl.cpp 2015-07-08 08:49:46 +0000 |
28 | @@ -60,6 +60,8 @@ |
29 | |
30 | m_ssid = ssid; |
31 | |
32 | + m_bssid = m_ap->hwAddress(); |
33 | + |
34 | m_strength = m_ap->strength(); |
35 | |
36 | connect(m_ap.get(), &OrgFreedesktopNetworkManagerAccessPointInterface::PropertiesChanged, this, &AccessPointImpl::ap_properties_changed); |
37 | @@ -104,11 +106,21 @@ |
38 | return m_ssid; |
39 | } |
40 | |
41 | +QString AccessPointImpl::bssid() const |
42 | +{ |
43 | + return m_bssid; |
44 | +} |
45 | + |
46 | QByteArray AccessPointImpl::raw_ssid() const |
47 | { |
48 | return m_raw_ssid; |
49 | } |
50 | |
51 | +bool AccessPointImpl::enterprise() const |
52 | +{ |
53 | + return (m_secflags & NM_802_11_AP_SEC_KEY_MGMT_802_1X) > 0; |
54 | +} |
55 | + |
56 | bool AccessPointImpl::secured() const |
57 | { |
58 | return m_secured; |
59 | @@ -132,7 +144,8 @@ |
60 | bool AccessPointImpl::operator==(const AccessPointImpl &other) const { |
61 | if(this == &other) |
62 | return true; |
63 | - return m_ssid == other.m_ssid && |
64 | + return m_raw_ssid == other.m_raw_ssid && |
65 | + m_bssid == other.m_bssid && |
66 | m_secflags == other.m_secflags && |
67 | m_mode == other.m_mode; |
68 | } |
69 | |
70 | === modified file 'src/indicator/nmofono/wifi/access-point-impl.h' |
71 | --- src/indicator/nmofono/wifi/access-point-impl.h 2015-05-05 16:15:26 +0000 |
72 | +++ src/indicator/nmofono/wifi/access-point-impl.h 2015-07-08 08:49:46 +0000 |
73 | @@ -83,13 +83,14 @@ |
74 | std::chrono::system_clock::time_point lastConnected() const; |
75 | |
76 | QString ssid() const override; |
77 | + QString bssid() const override; |
78 | QByteArray raw_ssid() const override; |
79 | |
80 | std::uint32_t secflags() const; |
81 | std::uint32_t mode() const; |
82 | |
83 | bool secured() const override; |
84 | - |
85 | + bool enterprise() const override; |
86 | bool adhoc() const override; |
87 | |
88 | QDBusObjectPath object_path() const override; |
89 | @@ -108,6 +109,7 @@ |
90 | std::chrono::system_clock::time_point m_lastConnected; |
91 | std::shared_ptr<OrgFreedesktopNetworkManagerAccessPointInterface> m_ap; |
92 | QString m_ssid; |
93 | + QString m_bssid; |
94 | QByteArray m_raw_ssid; |
95 | bool m_secured; |
96 | bool m_adhoc; |
97 | |
98 | === modified file 'src/indicator/nmofono/wifi/access-point.h' |
99 | --- src/indicator/nmofono/wifi/access-point.h 2015-04-14 11:20:17 +0000 |
100 | +++ src/indicator/nmofono/wifi/access-point.h 2015-07-08 08:49:46 +0000 |
101 | @@ -50,9 +50,11 @@ |
102 | virtual double strength() const = 0; |
103 | |
104 | virtual QString ssid() const = 0; |
105 | + virtual QString bssid() const = 0; |
106 | virtual QByteArray raw_ssid() const = 0; |
107 | virtual QDBusObjectPath object_path() const = 0; |
108 | virtual bool secured() const = 0; |
109 | + virtual bool enterprise() const = 0; |
110 | virtual bool adhoc() const = 0; |
111 | |
112 | Q_SIGNALS: |
113 | |
114 | === modified file 'src/indicator/nmofono/wifi/grouped-access-point.cpp' |
115 | --- src/indicator/nmofono/wifi/grouped-access-point.cpp 2015-05-05 16:15:26 +0000 |
116 | +++ src/indicator/nmofono/wifi/grouped-access-point.cpp 2015-07-08 08:49:46 +0000 |
117 | @@ -168,6 +168,17 @@ |
118 | return p->aplist.at(0)->ssid(); |
119 | } |
120 | |
121 | +QString GroupedAccessPoint::bssid() const |
122 | +{ |
123 | + if (p->aplist.empty()) |
124 | + { |
125 | + return QString(); |
126 | + } |
127 | + |
128 | + return p->aplist.at(0)->bssid(); |
129 | +} |
130 | + |
131 | + |
132 | QByteArray GroupedAccessPoint::raw_ssid() const |
133 | { |
134 | if (p->aplist.empty()) |
135 | @@ -188,6 +199,16 @@ |
136 | return p->aplist.at(0)->secured(); |
137 | } |
138 | |
139 | +bool GroupedAccessPoint::enterprise() const |
140 | +{ |
141 | + if (p->aplist.empty()) |
142 | + { |
143 | + return false; |
144 | + } |
145 | + |
146 | + return p->aplist.at(0)->enterprise(); |
147 | +} |
148 | + |
149 | bool GroupedAccessPoint::adhoc() const |
150 | { |
151 | if (p->aplist.empty()) |
152 | |
153 | === modified file 'src/indicator/nmofono/wifi/grouped-access-point.h' |
154 | --- src/indicator/nmofono/wifi/grouped-access-point.h 2015-04-24 08:47:08 +0000 |
155 | +++ src/indicator/nmofono/wifi/grouped-access-point.h 2015-07-08 08:49:46 +0000 |
156 | @@ -50,10 +50,11 @@ |
157 | std::chrono::system_clock::time_point lastConnected() const; |
158 | |
159 | QString ssid() const override; |
160 | + QString bssid() const override; |
161 | QByteArray raw_ssid() const override; |
162 | |
163 | bool secured() const override; |
164 | - |
165 | + bool enterprise() const override; |
166 | bool adhoc() const override; |
167 | |
168 | QDBusObjectPath object_path() const override; |
169 | |
170 | === modified file 'src/indicator/nmofono/wifi/wifi-link-impl.cpp' |
171 | --- src/indicator/nmofono/wifi/wifi-link-impl.cpp 2015-05-05 16:15:26 +0000 |
172 | +++ src/indicator/nmofono/wifi/wifi-link-impl.cpp 2015-07-08 08:49:46 +0000 |
173 | @@ -20,6 +20,7 @@ |
174 | #include <nmofono/wifi/wifi-link-impl.h> |
175 | #include <nmofono/wifi/access-point-impl.h> |
176 | #include <nmofono/wifi/grouped-access-point.h> |
177 | +#include <url-dispatcher-cpp/url-dispatcher.h> |
178 | #include <cassert> |
179 | |
180 | #include <NetworkManagerActiveConnectionInterface.h> |
181 | @@ -28,6 +29,7 @@ |
182 | |
183 | #include <NetworkManager.h> |
184 | #include <iostream> |
185 | +#include <QUrlQuery> |
186 | |
187 | using namespace std; |
188 | |
189 | @@ -453,20 +455,37 @@ |
190 | QDBusObjectPath(d->m_dev->path()), |
191 | accessPoint->object_path()); |
192 | } else { |
193 | - QVariantDictMap conf; |
194 | - |
195 | - /// @todo getting the ssid multiple times over dbus is stupid. |
196 | - |
197 | - QVariantMap wireless_conf; |
198 | - wireless_conf["ssid"] = ssid; |
199 | - |
200 | - conf["802-11-wireless"] = wireless_conf; |
201 | - auto ret = d->m_nm->AddAndActivateConnection( |
202 | - conf, QDBusObjectPath(d->m_dev->path()), accessPoint->object_path()); |
203 | - ret.waitForFinished(); |
204 | - ac = ret.argumentAt<1>(); |
205 | - } |
206 | - d->updateActiveConnection(ac); |
207 | + if (accessPoint->enterprise()) { |
208 | + // activate system settings URI |
209 | + QUrlQuery q; |
210 | + q.addQueryItem("ssid", accessPoint->raw_ssid()); |
211 | + q.addQueryItem("bssid", accessPoint->bssid()); |
212 | + QString url = "settings:///system/wifi?" + q.query(QUrl::FullyEncoded); |
213 | + |
214 | + UrlDispatcher::send(url.toStdString(), [](string url, bool success) { |
215 | + if (!success) { |
216 | + cerr << "URL Dispatcher failed on " << url << endl; |
217 | + } |
218 | + }); |
219 | + } else { |
220 | + QVariantDictMap conf; |
221 | + |
222 | + /// @todo getting the ssid multiple times over dbus is stupid. |
223 | + |
224 | + QVariantMap wireless_conf; |
225 | + wireless_conf["ssid"] = ssid; |
226 | + |
227 | + conf["802-11-wireless"] = wireless_conf; |
228 | + auto ret = d->m_nm->AddAndActivateConnection( |
229 | + conf, QDBusObjectPath(d->m_dev->path()), accessPoint->object_path()); |
230 | + ret.waitForFinished(); |
231 | + ac = ret.argumentAt<1>(); |
232 | + } |
233 | + } |
234 | + // For enterprise access points, the system settings app will perform the connection |
235 | + if (!accessPoint->enterprise()) { |
236 | + d->updateActiveConnection(ac); |
237 | + } |
238 | d->m_connecting = false; |
239 | } catch(const exception &e) { |
240 | // @bug default timeout expired: LP(#1361642) |
241 | |
242 | === modified file 'tests/integration/indicator-network-test-base.cpp' |
243 | --- tests/integration/indicator-network-test-base.cpp 2015-07-08 08:49:46 +0000 |
244 | +++ tests/integration/indicator-network-test-base.cpp 2015-07-08 08:49:46 +0000 |
245 | @@ -64,8 +64,31 @@ |
246 | dbusMock.registerOfono(); |
247 | dbusMock.registerURfkill(); |
248 | |
249 | + dbusMock.registerCustomMock( |
250 | + "com.canonical.URLDispatcher", |
251 | + "/com/canonical/URLDispatcher", |
252 | + "com.canonical.URLDispatcher", |
253 | + QDBusConnection::SessionBus); |
254 | + |
255 | dbusTestRunner.startServices(); |
256 | |
257 | + // Set up a basic URL dispatcher mock |
258 | + auto& urlDispatcher = dbusMock.mockInterface( |
259 | + "com.canonical.URLDispatcher", |
260 | + "/com/canonical/URLDispatcher", |
261 | + "com.canonical.URLDispatcher", |
262 | + QDBusConnection::SessionBus); |
263 | + urlDispatcher.AddMethod( |
264 | + "com.canonical.URLDispatcher", |
265 | + "DispatchURL", "ss", "", |
266 | + "" |
267 | + ).waitForFinished(); |
268 | + urlDispatcher.AddMethod( |
269 | + "com.canonical.URLDispatcher", |
270 | + "TestURL", "as", "as", |
271 | + "ret = args[0]" |
272 | + ).waitForFinished(); |
273 | + |
274 | // mock service creates ril_0 automatically |
275 | // Initial ConnectionManager properties are insane, fix them here |
276 | setConnectionManagerProperty(firstModem(), "Bearer", "none"); |
277 | @@ -155,16 +178,29 @@ |
278 | } |
279 | |
280 | QString IndicatorNetworkTestBase::createAccessPoint(const QString& id, const QString& ssid, const QString& device, uchar strength, |
281 | - Secure secure, ApMode apMode) |
282 | + Secure secure, ApMode apMode, const QString& mac) |
283 | { |
284 | + int secflags; |
285 | + if (secure == Secure::insecure) |
286 | + { |
287 | + secflags = NM_802_11_AP_SEC_NONE; |
288 | + } |
289 | + else if (secure == Secure::wpa) |
290 | + { |
291 | + secflags = NM_802_11_AP_SEC_KEY_MGMT_PSK; |
292 | + } |
293 | + else if (secure == Secure::wpa_enterprise) |
294 | + { |
295 | + secflags = NM_802_11_AP_SEC_KEY_MGMT_802_1X; |
296 | + } |
297 | |
298 | auto& networkManager(dbusMock.networkManagerInterface()); |
299 | auto reply = networkManager.AddAccessPoint( |
300 | device, id, ssid, |
301 | - randomMac(), |
302 | + mac, |
303 | apMode == ApMode::adhoc ? NM_802_11_MODE_ADHOC : NM_802_11_MODE_INFRA, |
304 | 0, 0, strength, |
305 | - secure == Secure::secure ? NM_802_11_AP_SEC_KEY_MGMT_PSK : NM_802_11_AP_SEC_NONE); |
306 | + secflags); |
307 | reply.waitForFinished(); |
308 | return reply; |
309 | } |
310 | @@ -333,7 +369,8 @@ |
311 | .pass_through_attribute( |
312 | "x-canonical-wifi-ap-strength-action", |
313 | shared_ptr<GVariant>(g_variant_new_byte(strength), &mh::gvariant_deleter)) |
314 | - .boolean_attribute("x-canonical-wifi-ap-is-secure", secure == Secure::secure) |
315 | + .boolean_attribute("x-canonical-wifi-ap-is-secure", secure != Secure::insecure) |
316 | + .boolean_attribute("x-canonical-wifi-ap-is-enterprise", secure == Secure::wpa_enterprise) |
317 | .boolean_attribute("x-canonical-wifi-ap-is-adhoc", apMode == ApMode::adhoc); |
318 | } |
319 | |
320 | |
321 | === modified file 'tests/integration/indicator-network-test-base.h' |
322 | --- tests/integration/indicator-network-test-base.h 2015-07-08 08:49:46 +0000 |
323 | +++ tests/integration/indicator-network-test-base.h 2015-07-08 08:49:46 +0000 |
324 | @@ -63,8 +63,9 @@ |
325 | public: |
326 | enum class Secure |
327 | { |
328 | - secure, |
329 | - insecure |
330 | + insecure, |
331 | + wpa, |
332 | + wpa_enterprise |
333 | }; |
334 | |
335 | enum class ApMode |
336 | @@ -101,7 +102,7 @@ |
337 | void disableWiFi(); |
338 | |
339 | QString createAccessPoint(const QString& id, const QString& ssid, const QString& device, uchar strength = 100, |
340 | - Secure secure = Secure::secure, ApMode apMode = ApMode::infra); |
341 | + Secure secure = Secure::wpa, ApMode apMode = ApMode::infra, const QString& mac = randomMac()); |
342 | |
343 | void removeAccessPoint(const QString& device, const QString& ap); |
344 | |
345 | |
346 | === modified file 'tests/integration/test-indicator.cpp' |
347 | --- tests/integration/test-indicator.cpp 2015-07-08 08:49:46 +0000 |
348 | +++ tests/integration/test-indicator.cpp 2015-07-08 08:49:46 +0000 |
349 | @@ -74,7 +74,7 @@ |
350 | .item(mh::MenuItemMatcher() |
351 | .section() |
352 | .item(accessPoint("the ssid", |
353 | - Secure::secure, |
354 | + Secure::wpa, |
355 | ApMode::infra, |
356 | ConnectionStatus::disconnected) |
357 | ) |
358 | @@ -103,7 +103,7 @@ |
359 | .item(mh::MenuItemMatcher() |
360 | .section() |
361 | .item(accessPoint("the ssid", |
362 | - Secure::secure, |
363 | + Secure::wpa, |
364 | ApMode::infra, |
365 | ConnectionStatus::connected) |
366 | ) |
367 | @@ -130,7 +130,7 @@ |
368 | .item(mh::MenuItemMatcher() |
369 | .section() |
370 | .item(accessPoint("the ssid", |
371 | - Secure::secure, |
372 | + Secure::wpa, |
373 | ApMode::infra, |
374 | ConnectionStatus::disconnected) |
375 | ) |
376 | @@ -160,7 +160,7 @@ |
377 | .item(mh::MenuItemMatcher() |
378 | .section() |
379 | .item(accessPoint("the ssid", |
380 | - Secure::secure, |
381 | + Secure::wpa, |
382 | ApMode::infra, |
383 | ConnectionStatus::connected) |
384 | ) |
385 | @@ -757,7 +757,7 @@ |
386 | |
387 | // add and connect to 1-bar secure AP |
388 | auto device = createWiFiDevice(NM_DEVICE_STATE_ACTIVATED); |
389 | - auto ap = createAccessPoint("0", "the ssid", device, 20, Secure::secure); |
390 | + auto ap = createAccessPoint("0", "the ssid", device, 20, Secure::wpa); |
391 | auto connection = createAccessPointConnection("0", "the ssid", device); |
392 | auto activeConnection = createActiveConnection("0", device, connection, ap); |
393 | |
394 | @@ -782,7 +782,7 @@ |
395 | .item(mh::MenuItemMatcher() |
396 | .section() |
397 | .item(accessPoint("the ssid", |
398 | - Secure::secure, |
399 | + Secure::wpa, |
400 | ApMode::infra, |
401 | ConnectionStatus::connected, |
402 | 20) |
403 | @@ -833,7 +833,7 @@ |
404 | ).match()); |
405 | |
406 | // And we're back |
407 | - ap = createAccessPoint("1", "the ssid", device, 20, Secure::secure); |
408 | + ap = createAccessPoint("1", "the ssid", device, 20, Secure::wpa); |
409 | connection = createAccessPointConnection("1", "the ssid", device); |
410 | activeConnection = createActiveConnection("1", device, connection, ap); |
411 | setGlobalConnectedState(NM_STATE_CONNECTED_GLOBAL); |
412 | @@ -861,10 +861,10 @@ |
413 | |
414 | // add some APs (secure / unsecure / adhoc / varied strength) |
415 | auto device = createWiFiDevice(NM_DEVICE_STATE_ACTIVATED); |
416 | - auto ap1 = createAccessPoint("1", "NSD", device, 0, Secure::secure, ApMode::infra); |
417 | - auto ap2 = createAccessPoint("2", "JDR", device, 20, Secure::secure, ApMode::adhoc); |
418 | - auto ap3 = createAccessPoint("3", "DGN", device, 40, Secure::secure, ApMode::infra); |
419 | - auto ap4 = createAccessPoint("4", "JDY", device, 60, Secure::secure, ApMode::adhoc); |
420 | + auto ap1 = createAccessPoint("1", "NSD", device, 0, Secure::wpa, ApMode::infra); |
421 | + auto ap2 = createAccessPoint("2", "JDR", device, 20, Secure::wpa, ApMode::adhoc); |
422 | + auto ap3 = createAccessPoint("3", "DGN", device, 40, Secure::wpa, ApMode::infra); |
423 | + auto ap4 = createAccessPoint("4", "JDY", device, 60, Secure::wpa, ApMode::adhoc); |
424 | auto ap5 = createAccessPoint("5", "SCE", device, 20, Secure::insecure, ApMode::infra); |
425 | auto ap6 = createAccessPoint("6", "ADS", device, 40, Secure::insecure, ApMode::adhoc); |
426 | auto ap7 = createAccessPoint("7", "CFT", device, 60, Secure::insecure, ApMode::infra); |
427 | @@ -896,13 +896,13 @@ |
428 | .item(wifiEnableSwitch(true)) |
429 | .item(mh::MenuItemMatcher() |
430 | .section() |
431 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::connected, 40)) |
432 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::connected, 40)) |
433 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
434 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
435 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
436 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
437 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
438 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
439 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
440 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
441 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 0)) |
442 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
443 | ) |
444 | ).match()); |
445 | @@ -1021,10 +1021,10 @@ |
446 | |
447 | // add some APs (secure / unsecure / adhoc / varied strength) |
448 | auto device = createWiFiDevice(NM_DEVICE_STATE_ACTIVATED); |
449 | - auto ap1 = createAccessPoint("1", "NSD", device, 0, Secure::secure, ApMode::infra); |
450 | - auto ap2 = createAccessPoint("2", "JDR", device, 20, Secure::secure, ApMode::adhoc); |
451 | - auto ap3 = createAccessPoint("3", "DGN", device, 40, Secure::secure, ApMode::infra); |
452 | - auto ap4 = createAccessPoint("4", "JDY", device, 60, Secure::secure, ApMode::adhoc); |
453 | + auto ap1 = createAccessPoint("1", "NSD", device, 0, Secure::wpa, ApMode::infra); |
454 | + auto ap2 = createAccessPoint("2", "JDR", device, 20, Secure::wpa, ApMode::adhoc); |
455 | + auto ap3 = createAccessPoint("3", "DGN", device, 40, Secure::wpa, ApMode::infra); |
456 | + auto ap4 = createAccessPoint("4", "JDY", device, 60, Secure::wpa, ApMode::adhoc); |
457 | auto ap5 = createAccessPoint("5", "SCE", device, 20, Secure::insecure, ApMode::infra); |
458 | auto ap6 = createAccessPoint("6", "ADS", device, 40, Secure::insecure, ApMode::adhoc); |
459 | auto ap7 = createAccessPoint("7", "CFT", device, 60, Secure::insecure, ApMode::infra); |
460 | @@ -1058,10 +1058,10 @@ |
461 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::connected, 80)) |
462 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
463 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
464 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
465 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
466 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
467 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
468 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 40)) |
469 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
470 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
471 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 0)) |
472 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
473 | ) |
474 | ).match()); |
475 | @@ -1121,10 +1121,10 @@ |
476 | |
477 | // NOTE: every newly created access point increments AP index (see: AccessPointItem::Private::ConstructL()) |
478 | // so here we need to start at index 1+8 as we've had 8 APs previously. |
479 | - ap1 = createAccessPoint("9", "NSD", device, 0, Secure::secure, ApMode::infra); |
480 | - ap2 = createAccessPoint("10", "JDR", device, 20, Secure::secure, ApMode::adhoc); |
481 | - ap3 = createAccessPoint("11", "DGN", device, 40, Secure::secure, ApMode::infra); |
482 | - ap4 = createAccessPoint("12", "JDY", device, 60, Secure::secure, ApMode::adhoc); |
483 | + ap1 = createAccessPoint("9", "NSD", device, 0, Secure::wpa, ApMode::infra); |
484 | + ap2 = createAccessPoint("10", "JDR", device, 20, Secure::wpa, ApMode::adhoc); |
485 | + ap3 = createAccessPoint("11", "DGN", device, 40, Secure::wpa, ApMode::infra); |
486 | + ap4 = createAccessPoint("12", "JDY", device, 60, Secure::wpa, ApMode::adhoc); |
487 | ap5 = createAccessPoint("13", "SCE", device, 20, Secure::insecure, ApMode::infra); |
488 | ap6 = createAccessPoint("14", "ADS", device, 40, Secure::insecure, ApMode::adhoc); |
489 | ap7 = createAccessPoint("15", "CFT", device, 60, Secure::insecure, ApMode::infra); |
490 | @@ -1152,10 +1152,10 @@ |
491 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::connected, 80)) |
492 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
493 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
494 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
495 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
496 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
497 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
498 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 40)) |
499 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
500 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
501 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 0)) |
502 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
503 | ) |
504 | ).match()); |
505 | @@ -1189,10 +1189,10 @@ |
506 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::connected, 80)) |
507 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
508 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
509 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
510 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
511 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
512 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
513 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 40)) |
514 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
515 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
516 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 0)) |
517 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
518 | ) |
519 | ).match()); |
520 | @@ -1210,7 +1210,7 @@ |
521 | ASSERT_NO_THROW(startIndicator()); |
522 | |
523 | // add a single AP |
524 | - auto ap1 = createAccessPoint("1", "groupA", device, 40, Secure::secure, ApMode::infra); |
525 | + auto ap1 = createAccessPoint("1", "groupA", device, 40, Secure::wpa, ApMode::infra); |
526 | |
527 | EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) |
528 | .item(mh::MenuItemMatcher() |
529 | @@ -1220,12 +1220,12 @@ |
530 | .item(wifiEnableSwitch()) |
531 | .item(mh::MenuItemMatcher() |
532 | .section() |
533 | - .item(accessPoint("groupA", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
534 | + .item(accessPoint("groupA", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 40)) |
535 | ) |
536 | ).match()); |
537 | |
538 | // add a second AP with the same SSID |
539 | - auto ap2 = createAccessPoint("2", "groupA", device, 60, Secure::secure, ApMode::infra); |
540 | + auto ap2 = createAccessPoint("2", "groupA", device, 60, Secure::wpa, ApMode::infra); |
541 | |
542 | // check that we see a single AP with the higher strength |
543 | EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) |
544 | @@ -1236,7 +1236,7 @@ |
545 | .item(wifiEnableSwitch()) |
546 | .item(mh::MenuItemMatcher() |
547 | .section() |
548 | - .item(accessPoint("groupA", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
549 | + .item(accessPoint("groupA", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
550 | ) |
551 | ).match()); |
552 | |
553 | @@ -1252,12 +1252,12 @@ |
554 | .item(wifiEnableSwitch()) |
555 | .item(mh::MenuItemMatcher() |
556 | .section() |
557 | - .item(accessPoint("groupA", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 80)) |
558 | + .item(accessPoint("groupA", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 80)) |
559 | ) |
560 | ).match()); |
561 | |
562 | // add another AP with a different SSID |
563 | - auto ap3 = createAccessPoint("3", "groupB", device, 75, Secure::secure, ApMode::infra); |
564 | + auto ap3 = createAccessPoint("3", "groupB", device, 75, Secure::wpa, ApMode::infra); |
565 | |
566 | // check that we see a single AP with the higher strength |
567 | EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) |
568 | @@ -1268,8 +1268,8 @@ |
569 | .item(wifiEnableSwitch()) |
570 | .item(mh::MenuItemMatcher() |
571 | .section() |
572 | - .item(accessPoint("groupA", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 80)) |
573 | - .item(accessPoint("groupB", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 75)) |
574 | + .item(accessPoint("groupA", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 80)) |
575 | + .item(accessPoint("groupB", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 75)) |
576 | ) |
577 | ).match()); |
578 | |
579 | @@ -1285,8 +1285,8 @@ |
580 | .item(wifiEnableSwitch()) |
581 | .item(mh::MenuItemMatcher() |
582 | .section() |
583 | - .item(accessPoint("groupA", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
584 | - .item(accessPoint("groupB", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 75)) |
585 | + .item(accessPoint("groupA", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
586 | + .item(accessPoint("groupB", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 75)) |
587 | ) |
588 | ).match()); |
589 | } |
590 | @@ -1300,23 +1300,23 @@ |
591 | auto device = createWiFiDevice(NM_DEVICE_STATE_ACTIVATED); |
592 | |
593 | // prepend a non-utf8 character to the end of AP 1's SSID |
594 | - auto ap1 = createAccessPoint("1", "NSD", device, 20, Secure::secure, ApMode::infra); |
595 | + auto ap1 = createAccessPoint("1", "NSD", device, 20, Secure::wpa, ApMode::infra); |
596 | setNmProperty(ap1, NM_DBUS_INTERFACE_ACCESS_POINT, "Ssid", QByteArray(1, -1) + QByteArray("NSD")); |
597 | |
598 | // append a non-utf8 character to the end of AP 2's SSID |
599 | - auto ap2 = createAccessPoint("2", "DGN", device, 20, Secure::secure, ApMode::infra); |
600 | + auto ap2 = createAccessPoint("2", "DGN", device, 20, Secure::wpa, ApMode::infra); |
601 | setNmProperty(ap2, NM_DBUS_INTERFACE_ACCESS_POINT, "Ssid", QByteArray("DGN") + QByteArray(1, -1)); |
602 | |
603 | // insert a non-utf8 character into AP 3's SSID |
604 | - auto ap3 = createAccessPoint("3", "JDY", device, 20, Secure::secure, ApMode::infra); |
605 | + auto ap3 = createAccessPoint("3", "JDY", device, 20, Secure::wpa, ApMode::infra); |
606 | setNmProperty(ap3, NM_DBUS_INTERFACE_ACCESS_POINT, "Ssid", QByteArray("JD") + QByteArray(1, -1) + QByteArray("Y")); |
607 | |
608 | // use only non-utf8 characters for AP 4's SSID |
609 | - auto ap4 = createAccessPoint("4", "---", device, 20, Secure::secure, ApMode::infra); |
610 | + auto ap4 = createAccessPoint("4", "---", device, 20, Secure::wpa, ApMode::infra); |
611 | setNmProperty(ap4, NM_DBUS_INTERFACE_ACCESS_POINT, "Ssid", QByteArray(4, -1)); |
612 | |
613 | // leave AP 5's SSID blank |
614 | - auto ap5 = createAccessPoint("5", "", device, 20, Secure::secure, ApMode::infra); |
615 | + auto ap5 = createAccessPoint("5", "", device, 20, Secure::wpa, ApMode::infra); |
616 | |
617 | // start the indicator |
618 | ASSERT_NO_THROW(startIndicator()); |
619 | @@ -1334,10 +1334,10 @@ |
620 | ) |
621 | .item(wifiEnableSwitch(true)) |
622 | .item(mh::MenuItemMatcher() |
623 | - .item(accessPoint("DGN�", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
624 | - .item(accessPoint("JD�Y", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
625 | - .item(accessPoint("�NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
626 | - .item(accessPoint("����", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
627 | + .item(accessPoint("DGN�", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
628 | + .item(accessPoint("JD�Y", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
629 | + .item(accessPoint("�NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
630 | + .item(accessPoint("����", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
631 | ) |
632 | ).match()); |
633 | } |
634 | @@ -1394,10 +1394,10 @@ |
635 | ) |
636 | ).match()); |
637 | |
638 | - auto ap1 = createAccessPoint("1", "NSD", device, 20, Secure::secure, ApMode::infra); |
639 | - auto ap2 = createAccessPoint("2", "JDR", device, 40, Secure::secure, ApMode::adhoc); |
640 | - auto ap3 = createAccessPoint("3", "DGN", device, 60, Secure::secure, ApMode::infra); |
641 | - auto ap4 = createAccessPoint("4", "JDY", device, 80, Secure::secure, ApMode::adhoc); |
642 | + auto ap1 = createAccessPoint("1", "NSD", device, 20, Secure::wpa, ApMode::infra); |
643 | + auto ap2 = createAccessPoint("2", "JDR", device, 40, Secure::wpa, ApMode::adhoc); |
644 | + auto ap3 = createAccessPoint("3", "DGN", device, 60, Secure::wpa, ApMode::infra); |
645 | + auto ap4 = createAccessPoint("4", "JDY", device, 80, Secure::wpa, ApMode::adhoc); |
646 | auto ap5 = createAccessPoint("5", "SCE", device, 0, Secure::insecure, ApMode::infra); |
647 | auto ap6 = createAccessPoint("6", "ADS", device, 20, Secure::insecure, ApMode::adhoc); |
648 | auto ap7 = createAccessPoint("7", "CFT", device, 40, Secure::insecure, ApMode::infra); |
649 | @@ -1420,11 +1420,11 @@ |
650 | .item(mh::MenuItemMatcher() |
651 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
652 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
653 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
654 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
655 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
656 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
657 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
658 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
659 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
660 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
661 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
662 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
663 | ) |
664 | ).match()); |
665 | @@ -1445,11 +1445,11 @@ |
666 | .item(mh::MenuItemMatcher() |
667 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::connected, 20)) |
668 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
669 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
670 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
671 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
672 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
673 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
674 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
675 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
676 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
677 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
678 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
679 | ) |
680 | ).match()); |
681 | @@ -1565,10 +1565,10 @@ |
682 | |
683 | // add some APs (secure / unsecure / adhoc / varied strength) |
684 | auto device = createWiFiDevice(NM_DEVICE_STATE_ACTIVATED); |
685 | - auto ap1 = createAccessPoint("1", "NSD", device, 20, Secure::secure, ApMode::infra); |
686 | - auto ap2 = createAccessPoint("2", "JDR", device, 40, Secure::secure, ApMode::adhoc); |
687 | - auto ap3 = createAccessPoint("3", "DGN", device, 60, Secure::secure, ApMode::infra); |
688 | - auto ap4 = createAccessPoint("4", "JDY", device, 80, Secure::secure, ApMode::adhoc); |
689 | + auto ap1 = createAccessPoint("1", "NSD", device, 20, Secure::wpa, ApMode::infra); |
690 | + auto ap2 = createAccessPoint("2", "JDR", device, 40, Secure::wpa, ApMode::adhoc); |
691 | + auto ap3 = createAccessPoint("3", "DGN", device, 60, Secure::wpa, ApMode::infra); |
692 | + auto ap4 = createAccessPoint("4", "JDY", device, 80, Secure::wpa, ApMode::adhoc); |
693 | auto ap5 = createAccessPoint("5", "SCE", device, 0, Secure::insecure, ApMode::infra); |
694 | auto ap6 = createAccessPoint("6", "ADS", device, 20, Secure::insecure, ApMode::adhoc); |
695 | auto ap7 = createAccessPoint("7", "CFT", device, 40, Secure::insecure, ApMode::infra); |
696 | @@ -1594,13 +1594,13 @@ |
697 | ) |
698 | .item(wifiEnableSwitch(true)) |
699 | .item(mh::MenuItemMatcher() |
700 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::connected, 80)) |
701 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::connected, 80)) |
702 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
703 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
704 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
705 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
706 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
707 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
708 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
709 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
710 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
711 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
712 | ) |
713 | ).match()); |
714 | @@ -1624,11 +1624,11 @@ |
715 | .item(mh::MenuItemMatcher() |
716 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::connected, 40)) |
717 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
718 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
719 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
720 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
721 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
722 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
723 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
724 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
725 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
726 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
727 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
728 | ) |
729 | ).match()); |
730 | @@ -1681,10 +1681,10 @@ |
731 | |
732 | // NOTE: every newly created access point increments AP index (see: AccessPointItem::Private::ConstructL()) |
733 | // so here we need to start at index 1+8 as we've had 8 APs previously. |
734 | - ap1 = createAccessPoint("9", "NSD", device, 20, Secure::secure, ApMode::infra); |
735 | - ap2 = createAccessPoint("10", "JDR", device, 40, Secure::secure, ApMode::adhoc); |
736 | - ap3 = createAccessPoint("11", "DGN", device, 60, Secure::secure, ApMode::infra); |
737 | - ap4 = createAccessPoint("12", "JDY", device, 80, Secure::secure, ApMode::adhoc); |
738 | + ap1 = createAccessPoint("9", "NSD", device, 20, Secure::wpa, ApMode::infra); |
739 | + ap2 = createAccessPoint("10", "JDR", device, 40, Secure::wpa, ApMode::adhoc); |
740 | + ap3 = createAccessPoint("11", "DGN", device, 60, Secure::wpa, ApMode::infra); |
741 | + ap4 = createAccessPoint("12", "JDY", device, 80, Secure::wpa, ApMode::adhoc); |
742 | ap5 = createAccessPoint("13", "SCE", device, 0, Secure::insecure, ApMode::infra); |
743 | ap6 = createAccessPoint("14", "ADS", device, 20, Secure::insecure, ApMode::adhoc); |
744 | ap7 = createAccessPoint("15", "CFT", device, 40, Secure::insecure, ApMode::infra); |
745 | @@ -1703,13 +1703,13 @@ |
746 | .mode(mh::MenuItemMatcher::Mode::starts_with) |
747 | .item(flightModeSwitch(false)).item(mh::MenuItemMatcher()).item(wifiEnableSwitch(true)) |
748 | .item(mh::MenuItemMatcher() |
749 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::connected, 80)) |
750 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::connected, 80)) |
751 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
752 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
753 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
754 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
755 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
756 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
757 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 20)) |
758 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
759 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 20)) |
760 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 0)) |
761 | ) |
762 | ).match()); |
763 | @@ -1725,10 +1725,10 @@ |
764 | |
765 | // add some APs (secure / unsecure / adhoc / varied strength) |
766 | auto device = createWiFiDevice(NM_DEVICE_STATE_ACTIVATED); |
767 | - auto ap1 = createAccessPoint("1", "NSD", device, 40, Secure::secure, ApMode::infra); |
768 | - auto ap2 = createAccessPoint("2", "JDR", device, 40, Secure::secure, ApMode::adhoc); |
769 | - auto ap3 = createAccessPoint("3", "DGN", device, 60, Secure::secure, ApMode::infra); |
770 | - auto ap4 = createAccessPoint("4", "JDY", device, 80, Secure::secure, ApMode::adhoc); |
771 | + auto ap1 = createAccessPoint("1", "NSD", device, 40, Secure::wpa, ApMode::infra); |
772 | + auto ap2 = createAccessPoint("2", "JDR", device, 40, Secure::wpa, ApMode::adhoc); |
773 | + auto ap3 = createAccessPoint("3", "DGN", device, 60, Secure::wpa, ApMode::infra); |
774 | + auto ap4 = createAccessPoint("4", "JDY", device, 80, Secure::wpa, ApMode::adhoc); |
775 | auto ap5 = createAccessPoint("5", "SCE", device, 20, Secure::insecure, ApMode::infra); |
776 | auto ap6 = createAccessPoint("6", "ADS", device, 20, Secure::insecure, ApMode::adhoc); |
777 | auto ap7 = createAccessPoint("7", "CFT", device, 40, Secure::insecure, ApMode::infra); |
778 | @@ -1753,11 +1753,11 @@ |
779 | .item(mh::MenuItemMatcher() |
780 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
781 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
782 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
783 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
784 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
785 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
786 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
787 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
788 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
789 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
790 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 40)) |
791 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 20) |
792 | .activate()) |
793 | ) |
794 | @@ -1782,11 +1782,11 @@ |
795 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::connected, 20)) |
796 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
797 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
798 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
799 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
800 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
801 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
802 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
803 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 40) |
804 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
805 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
806 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 40) |
807 | .activate()) |
808 | ) |
809 | ).match()); |
810 | @@ -1808,13 +1808,13 @@ |
811 | ) |
812 | .item(wifiEnableSwitch(true)) |
813 | .item(mh::MenuItemMatcher() |
814 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::connected, 40)) |
815 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::connected, 40)) |
816 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
817 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
818 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
819 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
820 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
821 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
822 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
823 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
824 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
825 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 20) |
826 | .activate()) |
827 | ) |
828 | @@ -1839,13 +1839,70 @@ |
829 | .item(accessPoint("SCE", Secure::insecure, ApMode::infra, ConnectionStatus::connected, 20)) |
830 | .item(accessPoint("ADS", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 20)) |
831 | .item(accessPoint("CFT", Secure::insecure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
832 | - .item(accessPoint("DGN", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 60)) |
833 | + .item(accessPoint("DGN", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 60)) |
834 | .item(accessPoint("GDF", Secure::insecure, ApMode::adhoc, ConnectionStatus::disconnected, 60)) |
835 | - .item(accessPoint("JDR", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
836 | - .item(accessPoint("JDY", Secure::secure, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
837 | - .item(accessPoint("NSD", Secure::secure, ApMode::infra, ConnectionStatus::disconnected, 40)) |
838 | - ) |
839 | - ).match()); |
840 | + .item(accessPoint("JDR", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 40)) |
841 | + .item(accessPoint("JDY", Secure::wpa, ApMode::adhoc, ConnectionStatus::disconnected, 80)) |
842 | + .item(accessPoint("NSD", Secure::wpa, ApMode::infra, ConnectionStatus::disconnected, 40)) |
843 | + ) |
844 | + ).match()); |
845 | +} |
846 | + |
847 | +TEST_F(TestIndicator, EnterpriseWifiConnect) |
848 | +{ |
849 | + // set wifi on, flight mode off |
850 | + setGlobalConnectedState(NM_STATE_DISCONNECTED); |
851 | + |
852 | + // set no sim |
853 | + setSimManagerProperty(firstModem(), "Present", false); |
854 | + |
855 | + // add some APs (secure / unsecure / adhoc / varied strength) |
856 | + auto device = createWiFiDevice(NM_DEVICE_STATE_ACTIVATED); |
857 | + auto ap1 = createAccessPoint("1", "ABC", device, 80, Secure::wpa_enterprise, ApMode::infra, "11:22:33:44:55:66"); |
858 | + |
859 | + // start the indicator |
860 | + ASSERT_NO_THROW(startIndicator()); |
861 | + |
862 | + // interface to the URL dispatcher |
863 | + auto& urlDispatcher = dbusMock.mockInterface( |
864 | + "com.canonical.URLDispatcher", |
865 | + "/com/canonical/URLDispatcher", |
866 | + "com.canonical.URLDispatcher", |
867 | + QDBusConnection::SessionBus); |
868 | + |
869 | + // Wait for method calls on the URL dispatcher |
870 | + QSignalSpy urlDispatcherSpy(&urlDispatcher, SIGNAL(MethodCalled(const QString &, const QVariantList &))); |
871 | + |
872 | + EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) |
873 | + .item(mh::MenuItemMatcher() |
874 | + .state_icons({"nm-no-connection"}) |
875 | + .mode(mh::MenuItemMatcher::Mode::starts_with) |
876 | + .item(flightModeSwitch(false)) |
877 | + .item(mh::MenuItemMatcher() |
878 | + .item(modemInfo("", "No SIM", "no-simcard")) |
879 | + .item(cellularSettings()) |
880 | + ) |
881 | + .item(wifiEnableSwitch(true)) |
882 | + .item(mh::MenuItemMatcher() |
883 | + .item(accessPoint("ABC", Secure::wpa_enterprise, ApMode::infra, ConnectionStatus::disconnected, 80).activate()) |
884 | + ) |
885 | + ).match()); |
886 | + |
887 | + if (urlDispatcherSpy.isEmpty()) |
888 | + { |
889 | + ASSERT_TRUE(urlDispatcherSpy.wait()); |
890 | + } |
891 | + |
892 | + ASSERT_FALSE(urlDispatcherSpy.isEmpty()); |
893 | + EXPECT_EQ(urlDispatcherSpy.first(), |
894 | + QVariantList() |
895 | + << QVariant("DispatchURL") |
896 | + << QVariant( |
897 | + QVariantList() |
898 | + << QVariant("settings:///system/wifi?ssid=ABC&bssid=11:22:33:44:55:66") |
899 | + << QVariant("") |
900 | + ) |
901 | + ); |
902 | } |
903 | |
904 | TEST_F(TestIndicator, CellDataEnabled) |
905 | @@ -1982,7 +2039,7 @@ |
906 | |
907 | // Enable WiFi and connect to it |
908 | enableWiFi(); |
909 | - auto ap1 = createAccessPoint("1", "ABC", device, 20, Secure::secure, ApMode::infra); |
910 | + auto ap1 = createAccessPoint("1", "ABC", device, 20, Secure::wpa, ApMode::infra); |
911 | auto connection = createAccessPointConnection("1", "ABC", device); |
912 | setNmProperty(device, NM_DBUS_INTERFACE_DEVICE, "State", QVariant::fromValue(uint(NM_DEVICE_STATE_ACTIVATED))); |
913 | auto active_connection = createActiveConnection("1", device, connection, ap1); |
914 | @@ -2003,7 +2060,7 @@ |
915 | .item(wifiEnableSwitch(true)) |
916 | .item(mh::MenuItemMatcher() |
917 | .item(accessPoint("ABC", |
918 | - Secure::secure, |
919 | + Secure::wpa, |
920 | ApMode::infra, |
921 | ConnectionStatus::connected, |
922 | 20) |
923 | |
924 | === modified file 'tests/unit/indicator/menuitems/test-access-point-item.cpp' |
925 | --- tests/unit/indicator/menuitems/test-access-point-item.cpp 2015-04-14 11:20:17 +0000 |
926 | +++ tests/unit/indicator/menuitems/test-access-point-item.cpp 2015-07-08 08:49:46 +0000 |
927 | @@ -40,12 +40,16 @@ |
928 | public: |
929 | MOCK_CONST_METHOD0(ssid, QString()); |
930 | |
931 | + MOCK_CONST_METHOD0(bssid, QString()); |
932 | + |
933 | MOCK_CONST_METHOD0(raw_ssid, QByteArray()); |
934 | |
935 | MOCK_CONST_METHOD0(object_path, QDBusObjectPath()); |
936 | |
937 | MOCK_CONST_METHOD0(secured, bool()); |
938 | |
939 | + MOCK_CONST_METHOD0(enterprise, bool()); |
940 | + |
941 | MOCK_CONST_METHOD0(adhoc, bool()); |
942 | |
943 | MOCK_CONST_METHOD0(strength, double()); |
PASSED: Continuous integration, rev:500 jenkins. qa.ubuntu. com/job/ indicator- network- ci/354/ jenkins. qa.ubuntu. com/job/ indicator- network- wily-amd64- ci/7 jenkins. qa.ubuntu. com/job/ indicator- network- wily-armhf- ci/7 jenkins. qa.ubuntu. com/job/ indicator- network- wily-armhf- ci/7/artifact/ work/output/ *zip*/output. zip
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/indicator- network- ci/354/ rebuild
http://