Index: grit/format/policy_templates/writers/adm_writer_unittest.py |
diff --git a/grit/format/policy_templates/writers/adm_writer_unittest.py b/grit/format/policy_templates/writers/adm_writer_unittest.py |
deleted file mode 100644 |
index c5c64f74d302c52bcf74e015f365d7bde6bfcf9f..0000000000000000000000000000000000000000 |
--- a/grit/format/policy_templates/writers/adm_writer_unittest.py |
+++ /dev/null |
@@ -1,1127 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-'''Unit tests for grit.format.policy_templates.writers.adm_writer''' |
- |
- |
-import os |
-import sys |
-if __name__ == '__main__': |
- sys.path.append(os.path.join(os.path.dirname(__file__), '../../../..')) |
- |
-import unittest |
- |
-from grit.format.policy_templates.writers import writer_unittest_common |
- |
- |
-class AdmWriterUnittest(writer_unittest_common.WriterUnittestCommon): |
- '''Unit tests for AdmWriter.''' |
- |
- def ConstructOutput(self, classes, body, strings): |
- result = [] |
- for clazz in classes: |
- result.append('CLASS ' + clazz) |
- result.append(body) |
- result.append(strings) |
- return ''.join(result) |
- |
- def CompareOutputs(self, output, expected_output): |
- '''Compares the output of the adm_writer with its expected output. |
- |
- Args: |
- output: The output of the adm writer as returned by grit. |
- expected_output: The expected output. |
- |
- Raises: |
- AssertionError: if the two strings are not equivalent. |
- ''' |
- self.assertEquals( |
- output.strip(), |
- expected_output.strip().replace('\n', '\r\n')) |
- |
- def testEmpty(self): |
- # Test PListWriter in case of empty polices. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least "Windows 3.11', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium': '1',}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least "Windows 3.11" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended"''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testVersionAnnotation(self): |
- # Test PListWriter in case of empty polices. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least "Windows 3.11', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput( |
- grd, 'fr', {'_chromium': '1', 'version':'39.0.0.0'}, 'adm', 'en') |
- expected_output = '; chromium version: 39.0.0.0\n' + \ |
- self.ConstructOutput(['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least "Windows 3.11" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended"''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testMainPolicy(self): |
- # Tests a policy group with a single policy of type 'main'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'MainPolicy', |
- 'type': 'main', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- 'caption': 'Caption of main.', |
- 'desc': 'Description of main.', |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.12', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_google_chrome' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!google |
- CATEGORY !!googlechrome |
- KEYNAME "Software\\Policies\\Google\\Chrome" |
- |
- POLICY !!MainPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!MainPolicy_Explain |
- VALUENAME "MainPolicy" |
- VALUEON NUMERIC 1 |
- VALUEOFF NUMERIC 0 |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- CATEGORY !!google |
- CATEGORY !!googlechrome_recommended |
- KEYNAME "Software\\Policies\\Google\\Chrome\\Recommended" |
- |
- POLICY !!MainPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!MainPolicy_Explain |
- VALUENAME "MainPolicy" |
- VALUEON NUMERIC 1 |
- VALUEOFF NUMERIC 0 |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.12" |
-google="Google" |
-googlechrome="Google Chrome" |
-googlechrome_recommended="Google Chrome - Recommended" |
-MainPolicy_Policy="Caption of main." |
-MainPolicy_Explain="Description of main."''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testMainPolicyRecommendedOnly(self): |
- # Tests a policy group with a single policy of type 'main'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'MainPolicy', |
- 'type': 'main', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { |
- 'can_be_recommended': True, |
- 'can_be_mandatory': False |
- }, |
- 'caption': 'Caption of main.', |
- 'desc': 'Description of main.', |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.12', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_google_chrome' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!google |
- CATEGORY !!googlechrome |
- KEYNAME "Software\\Policies\\Google\\Chrome" |
- |
- END CATEGORY |
- END CATEGORY |
- |
- CATEGORY !!google |
- CATEGORY !!googlechrome_recommended |
- KEYNAME "Software\\Policies\\Google\\Chrome\\Recommended" |
- |
- POLICY !!MainPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!MainPolicy_Explain |
- VALUENAME "MainPolicy" |
- VALUEON NUMERIC 1 |
- VALUEOFF NUMERIC 0 |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.12" |
-google="Google" |
-googlechrome="Google Chrome" |
-googlechrome_recommended="Google Chrome - Recommended" |
-MainPolicy_Policy="Caption of main." |
-MainPolicy_Explain="Description of main."''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testStringPolicy(self): |
- # Tests a policy group with a single policy of type 'string'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'StringPolicy', |
- 'type': 'string', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- 'desc': """Description of group. |
-With a newline.""", |
- 'caption': 'Caption of policy.', |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.13', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- POLICY !!StringPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!StringPolicy_Explain |
- |
- PART !!StringPolicy_Part EDITTEXT |
- VALUENAME "StringPolicy" |
- MAXLEN 1000000 |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- POLICY !!StringPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!StringPolicy_Explain |
- |
- PART !!StringPolicy_Part EDITTEXT |
- VALUENAME "StringPolicy" |
- MAXLEN 1000000 |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.13" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended" |
-StringPolicy_Policy="Caption of policy." |
-StringPolicy_Explain="Description of group.\\nWith a newline." |
-StringPolicy_Part="Caption of policy." |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testIntPolicy(self): |
- # Tests a policy group with a single policy of type 'string'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'IntPolicy', |
- 'type': 'int', |
- 'caption': 'Caption of policy.', |
- 'features': { 'can_be_recommended': True }, |
- 'desc': 'Description of policy.', |
- 'supported_on': ['chrome.win:8-'] |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.13', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- POLICY !!IntPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!IntPolicy_Explain |
- |
- PART !!IntPolicy_Part NUMERIC |
- VALUENAME "IntPolicy" |
- MIN 0 MAX 2000000000 |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- POLICY !!IntPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!IntPolicy_Explain |
- |
- PART !!IntPolicy_Part NUMERIC |
- VALUENAME "IntPolicy" |
- MIN 0 MAX 2000000000 |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.13" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended" |
-IntPolicy_Policy="Caption of policy." |
-IntPolicy_Explain="Description of policy." |
-IntPolicy_Part="Caption of policy." |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testIntEnumPolicy(self): |
- # Tests a policy group with a single policy of type 'int-enum'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'EnumPolicy', |
- 'type': 'int-enum', |
- 'items': [ |
- { |
- 'name': 'ProxyServerDisabled', |
- 'value': 0, |
- 'caption': 'Option1', |
- }, |
- { |
- 'name': 'ProxyServerAutoDetect', |
- 'value': 1, |
- 'caption': 'Option2', |
- }, |
- ], |
- 'desc': 'Description of policy.', |
- 'caption': 'Caption of policy.', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.14', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_google_chrome': '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!google |
- CATEGORY !!googlechrome |
- KEYNAME "Software\\Policies\\Google\\Chrome" |
- |
- POLICY !!EnumPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!EnumPolicy_Explain |
- |
- PART !!EnumPolicy_Part DROPDOWNLIST |
- VALUENAME "EnumPolicy" |
- ITEMLIST |
- NAME !!ProxyServerDisabled_DropDown VALUE NUMERIC 0 |
- NAME !!ProxyServerAutoDetect_DropDown VALUE NUMERIC 1 |
- END ITEMLIST |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- CATEGORY !!google |
- CATEGORY !!googlechrome_recommended |
- KEYNAME "Software\\Policies\\Google\\Chrome\\Recommended" |
- |
- POLICY !!EnumPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!EnumPolicy_Explain |
- |
- PART !!EnumPolicy_Part DROPDOWNLIST |
- VALUENAME "EnumPolicy" |
- ITEMLIST |
- NAME !!ProxyServerDisabled_DropDown VALUE NUMERIC 0 |
- NAME !!ProxyServerAutoDetect_DropDown VALUE NUMERIC 1 |
- END ITEMLIST |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.14" |
-google="Google" |
-googlechrome="Google Chrome" |
-googlechrome_recommended="Google Chrome - Recommended" |
-EnumPolicy_Policy="Caption of policy." |
-EnumPolicy_Explain="Description of policy." |
-EnumPolicy_Part="Caption of policy." |
-ProxyServerDisabled_DropDown="Option1" |
-ProxyServerAutoDetect_DropDown="Option2" |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testStringEnumPolicy(self): |
- # Tests a policy group with a single policy of type 'int-enum'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'EnumPolicy', |
- 'type': 'string-enum', |
- 'caption': 'Caption of policy.', |
- 'desc': 'Description of policy.', |
- 'items': [ |
- {'name': 'ProxyServerDisabled', 'value': 'one', |
- 'caption': 'Option1'}, |
- {'name': 'ProxyServerAutoDetect', 'value': 'two', |
- 'caption': 'Option2'}, |
- ], |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.14', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_google_chrome': '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!google |
- CATEGORY !!googlechrome |
- KEYNAME "Software\\Policies\\Google\\Chrome" |
- |
- POLICY !!EnumPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!EnumPolicy_Explain |
- |
- PART !!EnumPolicy_Part DROPDOWNLIST |
- VALUENAME "EnumPolicy" |
- ITEMLIST |
- NAME !!ProxyServerDisabled_DropDown VALUE "one" |
- NAME !!ProxyServerAutoDetect_DropDown VALUE "two" |
- END ITEMLIST |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- CATEGORY !!google |
- CATEGORY !!googlechrome_recommended |
- KEYNAME "Software\\Policies\\Google\\Chrome\\Recommended" |
- |
- POLICY !!EnumPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!EnumPolicy_Explain |
- |
- PART !!EnumPolicy_Part DROPDOWNLIST |
- VALUENAME "EnumPolicy" |
- ITEMLIST |
- NAME !!ProxyServerDisabled_DropDown VALUE "one" |
- NAME !!ProxyServerAutoDetect_DropDown VALUE "two" |
- END ITEMLIST |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.14" |
-google="Google" |
-googlechrome="Google Chrome" |
-googlechrome_recommended="Google Chrome - Recommended" |
-EnumPolicy_Policy="Caption of policy." |
-EnumPolicy_Explain="Description of policy." |
-EnumPolicy_Part="Caption of policy." |
-ProxyServerDisabled_DropDown="Option1" |
-ProxyServerAutoDetect_DropDown="Option2" |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testListPolicy(self): |
- # Tests a policy group with a single policy of type 'list'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'ListPolicy', |
- 'type': 'list', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- 'desc': """Description of list policy. |
-With a newline.""", |
- 'caption': 'Caption of list policy.', |
- 'label': 'Label of list policy.' |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.15', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- }, |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- POLICY !!ListPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!ListPolicy_Explain |
- |
- PART !!ListPolicy_Part LISTBOX |
- KEYNAME "Software\\Policies\\Chromium\\ListPolicy" |
- VALUEPREFIX "" |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- POLICY !!ListPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!ListPolicy_Explain |
- |
- PART !!ListPolicy_Part LISTBOX |
- KEYNAME "Software\\Policies\\Chromium\\Recommended\\ListPolicy" |
- VALUEPREFIX "" |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.15" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended" |
-ListPolicy_Policy="Caption of list policy." |
-ListPolicy_Explain="Description of list policy.\\nWith a newline." |
-ListPolicy_Part="Label of list policy." |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testStringEnumListPolicy(self): |
- # Tests a policy group with a single policy of type 'string-enum-list'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'ListPolicy', |
- 'type': 'string-enum-list', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- 'desc': """Description of list policy. |
-With a newline.""", |
- 'items': [ |
- {'name': 'ProxyServerDisabled', 'value': 'one', |
- 'caption': 'Option1'}, |
- {'name': 'ProxyServerAutoDetect', 'value': 'two', |
- 'caption': 'Option2'}, |
- ], |
- 'caption': 'Caption of list policy.', |
- 'label': 'Label of list policy.' |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.15', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- }, |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- POLICY !!ListPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!ListPolicy_Explain |
- |
- PART !!ListPolicy_Part LISTBOX |
- KEYNAME "Software\\Policies\\Chromium\\ListPolicy" |
- VALUEPREFIX "" |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- POLICY !!ListPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!ListPolicy_Explain |
- |
- PART !!ListPolicy_Part LISTBOX |
- KEYNAME "Software\\Policies\\Chromium\\Recommended\\ListPolicy" |
- VALUEPREFIX "" |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.15" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended" |
-ListPolicy_Policy="Caption of list policy." |
-ListPolicy_Explain="Description of list policy.\\nWith a newline." |
-ListPolicy_Part="Label of list policy." |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testDictionaryPolicy(self): |
- # Tests a policy group with a single policy of type 'dict'. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'DictionaryPolicy', |
- 'type': 'dict', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- 'desc': 'Description of group.', |
- 'caption': 'Caption of policy.', |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.13', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- POLICY !!DictionaryPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!DictionaryPolicy_Explain |
- |
- PART !!DictionaryPolicy_Part EDITTEXT |
- VALUENAME "DictionaryPolicy" |
- MAXLEN 1000000 |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- POLICY !!DictionaryPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!DictionaryPolicy_Explain |
- |
- PART !!DictionaryPolicy_Part EDITTEXT |
- VALUENAME "DictionaryPolicy" |
- MAXLEN 1000000 |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.13" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended" |
-DictionaryPolicy_Policy="Caption of policy." |
-DictionaryPolicy_Explain="Description of group." |
-DictionaryPolicy_Part="Caption of policy." |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testNonSupportedPolicy(self): |
- # Tests a policy that is not supported on Windows, so it shouldn't |
- # be included in the ADM file. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'NonWinGroup', |
- 'type': 'group', |
- 'policies': [{ |
- 'name': 'NonWinPolicy', |
- 'type': 'list', |
- 'supported_on': ['chrome.linux:8-', 'chrome.mac:8-'], |
- 'caption': 'Caption of list policy.', |
- 'desc': 'Desc of list policy.', |
- }], |
- 'caption': 'Group caption.', |
- 'desc': 'Group description.', |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.16', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.16" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended" |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testNonRecommendedPolicy(self): |
- # Tests a policy that is not recommended, so it should be included. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'MainPolicy', |
- 'type': 'main', |
- 'supported_on': ['chrome.win:8-'], |
- 'caption': 'Caption of main.', |
- 'desc': 'Description of main.', |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.12', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_google_chrome' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!google |
- CATEGORY !!googlechrome |
- KEYNAME "Software\\Policies\\Google\\Chrome" |
- |
- POLICY !!MainPolicy_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!MainPolicy_Explain |
- VALUENAME "MainPolicy" |
- VALUEON NUMERIC 1 |
- VALUEOFF NUMERIC 0 |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- CATEGORY !!google |
- CATEGORY !!googlechrome_recommended |
- KEYNAME "Software\\Policies\\Google\\Chrome\\Recommended" |
- |
- END CATEGORY |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.12" |
-google="Google" |
-googlechrome="Google Chrome" |
-googlechrome_recommended="Google Chrome - Recommended" |
-MainPolicy_Policy="Caption of main." |
-MainPolicy_Explain="Description of main."''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testPolicyGroup(self): |
- # Tests a policy group that has more than one policies. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'Group1', |
- 'type': 'group', |
- 'desc': 'Description of group.', |
- 'caption': 'Caption of group.', |
- 'policies': [{ |
- 'name': 'Policy1', |
- 'type': 'list', |
- 'supported_on': ['chrome.win:8-'], |
- 'features': { 'can_be_recommended': True }, |
- 'caption': 'Caption of policy1.', |
- 'desc': """Description of policy1. |
-With a newline.""" |
- },{ |
- 'name': 'Policy2', |
- 'type': 'string', |
- 'supported_on': ['chrome.win:8-'], |
- 'caption': 'Caption of policy2.', |
- 'desc': """Description of policy2. |
-With a newline.""" |
- }], |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.16', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_chromium' : '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!chromium |
- KEYNAME "Software\\Policies\\Chromium" |
- |
- CATEGORY !!Group1_Category |
- POLICY !!Policy1_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!Policy1_Explain |
- |
- PART !!Policy1_Part LISTBOX |
- KEYNAME "Software\\Policies\\Chromium\\Policy1" |
- VALUEPREFIX "" |
- END PART |
- END POLICY |
- |
- POLICY !!Policy2_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!Policy2_Explain |
- |
- PART !!Policy2_Part EDITTEXT |
- VALUENAME "Policy2" |
- MAXLEN 1000000 |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- END CATEGORY |
- |
- CATEGORY !!chromium_recommended |
- KEYNAME "Software\\Policies\\Chromium\\Recommended" |
- |
- CATEGORY !!Group1_Category |
- POLICY !!Policy1_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!Policy1_Explain |
- |
- PART !!Policy1_Part LISTBOX |
- KEYNAME "Software\\Policies\\Chromium\\Recommended\\Policy1" |
- VALUEPREFIX "" |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.16" |
-chromium="Chromium" |
-chromium_recommended="Chromium - Recommended" |
-Group1_Category="Caption of group." |
-Policy1_Policy="Caption of policy1." |
-Policy1_Explain="Description of policy1.\\nWith a newline." |
-Policy1_Part="Caption of policy1." |
-Policy2_Policy="Caption of policy2." |
-Policy2_Explain="Description of policy2.\\nWith a newline." |
-Policy2_Part="Caption of policy2." |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
- def testDuplicatedStringEnumPolicy(self): |
- # Verifies that duplicated enum constants get merged, and that |
- # string constants get escaped. |
- grd = self.PrepareTest(''' |
- { |
- 'policy_definitions': [ |
- { |
- 'name': 'EnumPolicy.A', |
- 'type': 'string-enum', |
- 'caption': 'Caption of policy A.', |
- 'desc': 'Description of policy A.', |
- 'items': [ |
- {'name': 'tls1.2', 'value': 'tls1.2', 'caption': 'tls1.2' }, |
- ], |
- 'supported_on': ['chrome.win:39-'], |
- }, |
- { |
- 'name': 'EnumPolicy.B', |
- 'type': 'string-enum', |
- 'caption': 'Caption of policy B.', |
- 'desc': 'Description of policy B.', |
- 'items': [ |
- {'name': 'tls1.2', 'value': 'tls1.2', 'caption': 'tls1.2' }, |
- ], |
- 'supported_on': ['chrome.win:39-'], |
- }, |
- ], |
- 'placeholders': [], |
- 'messages': { |
- 'win_supported_winxpsp2': { |
- 'text': 'At least Windows 3.14', 'desc': 'blah' |
- }, |
- 'doc_recommended': { |
- 'text': 'Recommended', 'desc': 'bleh' |
- } |
- } |
- }''') |
- output = self.GetOutput(grd, 'fr', {'_google_chrome': '1'}, 'adm', 'en') |
- expected_output = self.ConstructOutput( |
- ['MACHINE', 'USER'], ''' |
- CATEGORY !!google |
- CATEGORY !!googlechrome |
- KEYNAME "Software\\Policies\\Google\\Chrome" |
- |
- POLICY !!EnumPolicy_A_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!EnumPolicy_A_Explain |
- |
- PART !!EnumPolicy_A_Part DROPDOWNLIST |
- VALUENAME "EnumPolicy.A" |
- ITEMLIST |
- NAME !!tls1_2_DropDown VALUE "tls1.2" |
- END ITEMLIST |
- END PART |
- END POLICY |
- |
- POLICY !!EnumPolicy_B_Policy |
- #if version >= 4 |
- SUPPORTED !!SUPPORTED_WINXPSP2 |
- #endif |
- EXPLAIN !!EnumPolicy_B_Explain |
- |
- PART !!EnumPolicy_B_Part DROPDOWNLIST |
- VALUENAME "EnumPolicy.B" |
- ITEMLIST |
- NAME !!tls1_2_DropDown VALUE "tls1.2" |
- END ITEMLIST |
- END PART |
- END POLICY |
- |
- END CATEGORY |
- END CATEGORY |
- |
- CATEGORY !!google |
- CATEGORY !!googlechrome_recommended |
- KEYNAME "Software\\Policies\\Google\\Chrome\\Recommended" |
- |
- END CATEGORY |
- END CATEGORY |
- |
- |
-''', '''[Strings] |
-SUPPORTED_WINXPSP2="At least Windows 3.14" |
-google="Google" |
-googlechrome="Google Chrome" |
-googlechrome_recommended="Google Chrome - Recommended" |
-EnumPolicy_A_Policy="Caption of policy A." |
-EnumPolicy_A_Explain="Description of policy A." |
-EnumPolicy_A_Part="Caption of policy A." |
-tls1_2_DropDown="tls1.2" |
-EnumPolicy_B_Policy="Caption of policy B." |
-EnumPolicy_B_Explain="Description of policy B." |
-EnumPolicy_B_Part="Caption of policy B." |
-''') |
- self.CompareOutputs(output, expected_output) |
- |
-if __name__ == '__main__': |
- unittest.main() |