Chromium Code Reviews| Index: functional/chromeos_wifi_functional.py |
| =================================================================== |
| --- functional/chromeos_wifi_functional.py (revision 110222) |
| +++ functional/chromeos_wifi_functional.py (working copy) |
| @@ -17,10 +17,14 @@ |
| 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,30 @@ |
| is_hidden=router.get('hidden')) |
| return router |
| + def _VerifyIfConnectedToNetwork(self, network_ssid, status='Online state'): |
| + """Verify if we are connected to the network. |
| + |
|
stanleyw
2011/11/21 19:32:45
What do the function arguments mean?
deepakg
2011/11/21 23:49:44
Done.
|
| + The test calling this function will fail for one of these three reasons: |
|
stanleyw
2011/11/21 19:32:45
extra space between will and fail
deepakg
2011/11/21 23:49:44
Done.
|
| + 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. |
| + """ |
| + 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) |
| + network_available = False |
| + for path in self.NetworkScan()['wifi_networks']: |
| + if path == service_path: |
| + network_available = True |
|
stanleyw
2011/11/21 19:32:45
We can get rid of the network_available variable i
deepakg
2011/11/21 23:49:44
Thanks, didn't know this was possible.
|
| + self.assertTrue( |
| + self.NetworkScan()['wifi_networks'][path]['status'] == status, |
| + msg='Not connected to the network %s.' % network_ssid) |
| + break; |
| + self.assertTrue(network_available, |
| + 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 +124,79 @@ |
| 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' |
|
stanleyw
2011/11/21 19:32:45
We should probably check that if we're logged in,
deepakg
2011/11/21 23:49:44
Done.
|
| + 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() |