Merge lp:~pete-woods/indicator-network/enterprise-wifi-invokes-system-settings into lp:indicator-network/15.10

Proposed by Pete Woods
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
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

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
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

Revision history for this message
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

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
504. By Pete Woods

Fix URI spec to match what jgdx wanted, not what he said :)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
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());

Subscribers

People subscribed via source and target branches