diff options
author | deepakg@google.com <deepakg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-22 02:17:46 +0000 |
---|---|---|
committer | deepakg@google.com <deepakg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-22 02:17:46 +0000 |
commit | 5c5517c3df6ea2944338065e28ede8707b5136c5 (patch) | |
tree | 4c2cdd09d044e60d102434d9e24af4b93fc17096 | |
parent | 50e4f009a00cc0fd3d49f49d3a38e7743706fcd7 (diff) | |
download | chromium_src-5c5517c3df6ea2944338065e28ede8707b5136c5.zip chromium_src-5c5517c3df6ea2944338065e28ede8707b5136c5.tar.gz chromium_src-5c5517c3df6ea2944338065e28ede8707b5136c5.tar.bz2 |
Added 4 new pyauto tests.
Review URL: http://codereview.chromium.org/8586013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111079 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/test/functional/chromeos_wifi_functional.py | 115 |
1 files changed, 112 insertions, 3 deletions
diff --git a/chrome/test/functional/chromeos_wifi_functional.py b/chrome/test/functional/chromeos_wifi_functional.py index e8c836d..3de27c3 100644 --- a/chrome/test/functional/chromeos_wifi_functional.py +++ b/chrome/test/functional/chromeos_wifi_functional.py @@ -17,10 +17,14 @@ class ChromeosWifiFunctional(chromeos_network.PyNetworkUITest): routers are attached. """ - def _LoginDevice(self): - """Logs into the device and cleans up flimflam profile.""" + def _LoginDevice(self, test_account='test_google_account'): + """Logs into the device and cleans up flimflam profile. + + Args: + test_account: The account used to login to the device. + """ if not self.GetLoginInfo()['is_logged_in']: - credentials = self.GetPrivateInfo()['test_google_account'] + credentials = self.GetPrivateInfo()[test_account] self.Login(credentials['username'], credentials['password']) login_info = self.GetLoginInfo() self.assertTrue(login_info['is_logged_in'], msg='Login failed.') @@ -58,6 +62,36 @@ class ChromeosWifiFunctional(chromeos_network.PyNetworkUITest): is_hidden=router.get('hidden')) return router + def _VerifyIfConnectedToNetwork(self, network_ssid, status='Online state'): + """Verify if we are connected to the network. + + The test calling this function will fail for one of these three reasons: + 1. The server path for the SSID is not found. + 2. If we are not connected to the network. + 3. If we did not find the network in the wifi_networks list. + + Args: + newtork_ssid: The network to which we are supposed to be connected to. + status: The status that we expect the network to have, by default it + would be 'Online state'. + """ + service_path = self.GetServicePath(network_ssid) + self.assertTrue(service_path is not None, + msg='Could not find a service path for the given ssid %s.' % + network_ssid) + wifi_network = self.NetworkScan()['wifi_networks'] + for path in wifi_network: + if path == service_path: + self.assertTrue( + wifi_network[path]['status'] == status, + msg='Unexpected network status %s, Network %s should have ' + 'status %s.' % (wifi_network[path]['status'], + network_ssid, status)) + break; + else: + self.fail(msg='Did not find the network %s in the ' + 'wifi_networks list.' % network_ssid) + def testConnectShareEncryptedNetwork(self): """A shared encrypted network can connect and is remembered. @@ -96,6 +130,81 @@ class ChromeosWifiFunctional(chromeos_network.PyNetworkUITest): self.assertFalse(service_path in self.GetNetworkInfo()['remembered_wifi'], 'Connected wifi was not removed from the remembered list.') + def testConnectToSharedOpenNetwork(self): + """Can connect to a shared open network. + + Verify that the connected network is in the remembered network list + for all the users. + """ + router_name = 'Trendnet_639gr_4' + self._LoginDevice() + router = self._SetupRouter(router_name) + error = self.ConnectToWifiRouter(router_name) + self.assertFalse(error, msg='Failed to connect to wifi network %s. ' + 'Reason: %s.' % (router['ssid'], error)) + service_path = self.GetServicePath(router['ssid']) + self.assertTrue(service_path in self.GetNetworkInfo()['remembered_wifi'], + msg='Open wifi is not remembered for the current user.') + self.Logout() + self._LoginDevice(test_account='test_google_account_2') + self.assertTrue(service_path in self.NetworkScan()['remembered_wifi'], + msg='Open network is not shared with other users.') + + def testConnectToSharedHiddenNetwork(self): + """Can connect to shared hidden network and verify that it's shared.""" + router_name = 'Netgear_WGR614' + self._LoginDevice() + router = self._SetupRouter(router_name) + error = self.ConnectToWifiRouter(router_name) + self.assertFalse(error, msg='Failed to connect to hidden network %s. ' + 'Reason: %s.' % (router['ssid'], error)) + service_path = self.GetServicePath(router['ssid']) + self.assertTrue(service_path in self.NetworkScan()['remembered_wifi'], + msg='Hidden network is not added to the remembered list.') + self.Logout() + self._LoginDevice(test_account='test_google_account_2') + self.assertTrue(service_path in self.NetworkScan()['remembered_wifi'], + msg='Shared hidden network is not in other user\'s ' + 'remembered list.') + + def testConnectToNonSharedHiddenNetwork(self): + """Can connect to a non-shared hidden network. + + Verify that it is not shared with other users. + """ + router_name = 'Linksys_WRT54GL' + self._LoginDevice() + router = self._SetupRouter(router_name) + error = self.ConnectToWifiRouter(router_name, shared=False) + self.assertFalse(error, msg='Failed to connect to hidden network %s. ' + 'Reason: %s.' % (router['ssid'], error)) + service_path = self.GetServicePath(router['ssid']) + self.assertTrue(service_path in self.NetworkScan()['remembered_wifi'], + msg='Hidden network is not added to the remembered list.') + self.Logout() + self._LoginDevice(test_account='test_google_account_2') + self.assertFalse(service_path in self.NetworkScan()['remembered_wifi'], + msg='Non-shared hidden network %s is shared.' + % router['ssid']) + + def testConnectToEncryptedNetworkInLoginScreen(self): + """Can connect to encrypted network in login screen. + + Verify that this network is in the remembered list after login. + """ + router_name = 'Belkin_G' + if self.GetLoginInfo()['is_logged_in']: + self.Logout() + router = self._SetupRouter(router_name) + error = self.ConnectToWifiRouter(router_name) + self.assertFalse(error, 'Failed to connect to wifi network %s. ' + 'Reason: %s.' % (router['ssid'], error)) + service_path = self.GetServicePath(router['ssid']) + self._VerifyIfConnectedToNetwork(router['ssid'], 'Connected') + self._LoginDevice() + self.assertTrue(service_path in self.NetworkScan()['remembered_wifi'], + msg='Network is not added to the remembered list.') + if __name__ == '__main__': pyauto_functional.Main() |