50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
| # 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)
 |