# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = 'timkovich'
NAME = 'policy_WiFiTypes'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
This test should be run through the 'policy_WiFiTypesServer' test.

'policy_WiFiTypes' sets the OpenNetworkConfiguration policy and attempts to
connect to the given AP. Fails if the DUT does not connect. Tests with both
autoconnect on and off.

'''

args_dict = utils.args_to_dict(args)

job.run_test('policy_WiFiTypes', **args_dict)

