Home | History | Annotate | Download | only in network_ChromeWifiConfigure
      1 # Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import logging
      6 
      7 from autotest_lib.client.bin import test
      8 from autotest_lib.client.common_lib import error
      9 from autotest_lib.client.cros.networking.chrome_testing \
     10         import chrome_networking_test_context as cntc
     11 from autotest_lib.client.cros.networking.chrome_testing import test_utils
     12 
     13 class network_ChromeWifiConfigure(test.test):
     14     """
     15     Tests wifi configuration using chrome.networkingPrivate.
     16     This test appears fairly trivial, but actually tests that Shill and Chrome
     17     are communicating successfully, and that Shill can successfully configure
     18     a WiFi network and retreive the properties of that network.
     19 
     20     """
     21     version = 1
     22 
     23     def _test_property(self, network, property_name, expected_value):
     24         value = test_utils.get_ui_property(network, property_name)
     25         if value != expected_value:
     26             raise error.TestFail('Expected value for "' + property_name +
     27                                  '" to be "' + str(expected_value) +
     28                                  '", found "' + str(value)) + '"'
     29 
     30     def _create_wifi(self, ssid, security):
     31         logging.info('create_wifi')
     32         shared = 'true'
     33         properties = {
     34             'Type': 'WiFi',
     35             'WiFi': {
     36                 'SSID': ssid,
     37                 'Security': security
     38                 }
     39             }
     40         logging.info('Calling createNetwork')
     41         guid = test_utils.call_test_function_check_success(
     42                 self._chrome_testing,
     43                 'createNetwork',
     44                 (shared, properties))
     45         logging.info(' guid: ' + guid)
     46 
     47         logging.info('Calling getNetworkInfo')
     48         network = test_utils.call_test_function_check_success(
     49                 self._chrome_testing,
     50                 'getNetworkInfo',
     51                 ('"' + guid + '"',))
     52         logging.info(' result: ' + str(network))
     53 
     54         self._test_property(network, 'Type', 'WiFi')
     55         self._test_property(network, 'WiFi.Security', security)
     56 
     57 
     58     def _run_once_internal(self):
     59         logging.info('run_once_internal')
     60         self._create_wifi('test_wifi1', 'WEP-PSK')
     61 
     62 
     63     def run_once(self):
     64         with cntc.ChromeNetworkingTestContext() as testing_context:
     65             self._chrome_testing = testing_context
     66             self._run_once_internal()
     67