# Copyright 2019 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 = 'pawliczek'
NAME = 'policy_DeviceServer.EnterprisePrinters_blwl'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'server'
# Disable until test can be fixed: http://b/160218741
# ATTRIBUTES = 'suite:ent-nightly, suite:policy'

DOC = """
Sets up and runs the client test for NativePrintersBulk* and
DeviceNativePrinters* policies.

"""

client_test = 'policy_NativePrintersBulkAccessMode'
case = ('blacklist','whitelist')

def run(machine):
    host = hosts.create_host(machine)
    job.run_test('policy_DeviceServer', host=host,
                  client_test=client_test, case=case)

parallel_simple(run, machines)
