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
5AUTHOR = 'wiley, pstew, quiche'
6NAME = 'network_WiFi_Roam.wifi_roam1xTLS'
7TIME = 'SHORT'
8TEST_TYPE = 'Server'
9ATTRIBUTES = 'suite:wifi_matfunc, suite:wifi_matfunc_bcm4371'
10SUITE = 'wifi_matfunc, wifi_matfunc_bcm4371'
11DEPENDENCIES = 'wificell'
12
13DOC = """
14This test attempts to verify that we can roam between two 802.1x EAP-TLS APs
15in full view of the DUT.
16"""
17
18
19from autotest_lib.client.common_lib.cros import site_eap_certs
20from autotest_lib.client.common_lib.cros.network import xmlrpc_datatypes
21from autotest_lib.client.common_lib.cros.network import xmlrpc_security_types
22from autotest_lib.server.cros.network import hostap_config
23
24
25def run(machine):
26    eap_config = xmlrpc_security_types.WPAEAPConfig(
27            server_ca_cert=site_eap_certs.ca_cert_1,
28            server_cert=site_eap_certs.server_cert_1,
29            server_key=site_eap_certs.server_private_key_1,
30            client_ca_cert=site_eap_certs.ca_cert_1,
31            client_cert=site_eap_certs.client_cert_1,
32            client_key=site_eap_certs.client_private_key_1)
33    configuration = (hostap_config.HostapConfig(
34                             channel=1, security_config=eap_config),
35                     hostap_config.HostapConfig(
36                             channel=48,
37                             mode=hostap_config.HostapConfig.MODE_11A,
38                             security_config=eap_config),
39                     xmlrpc_datatypes.AssociationParameters(
40                             security_config=eap_config))
41    host = hosts.create_host(machine)
42    job.run_test('network_WiFi_Roam',
43                 tag=NAME.split('.')[1],
44                 host=host,
45                 raw_cmdline_args=args,
46                 additional_params=configuration)
47
48
49parallel_simple(run, machines)
50