# 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 = 'scunningham'
NAME = 'policy_AutoFillEnabled'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of AutoFillEnabled policy on client behavior & appearance.

This test verifies the effect of the AutoFillEnabled user policy on
Chrome OS client behavior and appearance. It exercises all valid policy
values across three test cases: True_Enable, False_Disable, and
NotSet_Enable.

The test case shall pass if the chrome://settings page allows (or does not
allow) the user to edit the Autofill settings when the policy is set true or
not set (or set false). It shall fail if that behavior is not enforced.

This control file allows CloudDPC E2E tests to run any test case defined in
this test via command-line.

'''

args_dict = utils.args_to_dict(args)

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