Commit 5c5517c3 authored by deepakg@google.com's avatar deepakg@google.com

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
parent 50e4f009
......@@ -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()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment