# Copyright 2015 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 = 'krishnargv'
NAME = 'policy_ProxySettings'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of policy_ProxySettings policy on client behavior.

This test verifies the effect of the ProxySettings user policy on Chrome OS
client behavior. It exercises a variety of policy values using four unique
test cases: FixedProxy_UseFixedProxy, DirectProxy_UseNoProxy,
PacProxy_UsePacFile and NotSet_UseNoProxy.

In general, the test case shall pass if Chrome OS uses the correct proxy,
as specified by the policy value. It fails if the wrong proxy is used.

'''

args_dict = utils.args_to_dict(args)

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