You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.7 KiB
50 lines
1.7 KiB
# 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.
|
|
|
|
from autotest_lib.client.common_lib import error
|
|
from autotest_lib.client.cros.enterprise import enterprise_policy_base
|
|
|
|
|
|
class policy_PolicyRefreshRate(
|
|
enterprise_policy_base.EnterprisePolicyTest):
|
|
"""
|
|
Test effect of policy_PolicyRefreshRate policy on Chrome OS.
|
|
|
|
"""
|
|
version = 1
|
|
|
|
def check_refresh_rate(self, case):
|
|
"""
|
|
Will check the policy refresh rate from chrome://policy, and verify
|
|
that the text returned alligns with the policy configured.
|
|
|
|
@param case: Name of the test case to run.
|
|
|
|
"""
|
|
tab = self.navigate_to_url('chrome://policy')
|
|
|
|
js_text_query = "document.querySelector('{}').innerText"
|
|
refresh_interval_js = '#status-box-container div.refresh-interval'
|
|
|
|
# Grab the policy refresh as shown at the top of the page, not from
|
|
# the policy table.
|
|
refresh_interval = tab.EvaluateJavaScript(
|
|
js_text_query.format(refresh_interval_js))
|
|
if case <= 1800000:
|
|
expected_refresh = ' 30 mins'
|
|
elif case >= 86400000:
|
|
expected_refresh = ' 1 day'
|
|
|
|
if refresh_interval != expected_refresh:
|
|
raise error.TestFail('Policy refresh incorrect. Got {} expected {}'
|
|
.format(refresh_interval, expected_refresh))
|
|
|
|
def run_once(self, case):
|
|
"""
|
|
@param case: Name of the test case to run.
|
|
|
|
"""
|
|
self.setup_case(user_policies={'PolicyRefreshRate': case})
|
|
self.check_refresh_rate(case)
|