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 on 2015-07-07 |
| 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 | continuous-integration | Needs Fixing on 2015-07-07 | |
| Indicator Applet Developers | 2015-07-06 | Pending | |
|
Review via email:
|
|||
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
| 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 on 2015-07-07
-
Add tests for enterprise WiFi trigger
- 502. By Pete Woods on 2015-07-07
-
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 on 2015-07-07
-
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 on 2015-07-08
-
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://