Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(613)

Unified Diff: components/policy/tools/template_writers/writers/chromeos_admx_writer_unittest.py

Issue 2481183002: Generate ADMX template for Chrome OS policies (Closed)
Patch Set: Couple of fixes after testing Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/policy/tools/template_writers/writers/chromeos_admx_writer_unittest.py
diff --git a/components/policy/tools/template_writers/writers/chromeos_admx_writer_unittest.py b/components/policy/tools/template_writers/writers/chromeos_admx_writer_unittest.py
new file mode 100755
index 0000000000000000000000000000000000000000..2373ecac334e186ac50f97b32bf7c1a81790ea0a
--- /dev/null
+++ b/components/policy/tools/template_writers/writers/chromeos_admx_writer_unittest.py
@@ -0,0 +1,101 @@
+#!/usr/bin/env python
+# Copyright 2017 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.
+
+
+"""Unittests for writers.chromeos_admx_writer."""
+
+
+import os
+import sys
+import unittest
+if __name__ == '__main__':
+ sys.path.append(os.path.join(os.path.dirname(__file__), '../../../..'))
+
+
+from writers import chromeos_admx_writer
+from writers import admx_writer_unittest
+
+
+class ChromeOsAdmxWriterUnittest(
+ admx_writer_unittest.AdmxWriterUnittest):
+
+ # Overridden.
+ def _GetWriter(self, config):
+ return chromeos_admx_writer.GetWriter(config)
+
+ # Overridden.
+ def _GetKey(self):
+ return "CrOSTest"
+
+ # Overridden.
+ def _GetCategory(self):
+ return "cros_test_category";
+
+ # Overridden.
+ def _GetCategoryRec(self):
+ return "cros_test_recommended_category";
+
+ # Overridden.
+ def _GetNamespace(self):
+ return "ADMXWriter.Test.Namespace.ChromeOS";
+
+ # Overridden.
+ def testPlatform(self):
+ # Test that the writer correctly chooses policies of platform Chrome OS.
+ self.assertTrue(self.writer.IsPolicySupported({
+ 'supported_on': [
+ {'platforms': ['chrome_os', 'zzz']}, {'platforms': ['aaa']}
+ ]
+ }))
+ self.assertFalse(self.writer.IsPolicySupported({
+ 'supported_on': [
+ {'platforms': ['win', 'mac', 'linux']}, {'platforms': ['aaa']}
+ ]
+ }))
+
+ def testUserPolicy(self):
+ self.doTestUserOrDevicePolicy(False);
+
+ def testDevicePolicy(self):
+ self.doTestUserOrDevicePolicy(True);
+
+ def doTestUserOrDevicePolicy(self, is_device_only):
+ # Tests whether CLASS attribute is 'User' for user policies and 'Machine'
+ # for device policies.
+ main_policy = {
+ 'name': 'DummyMainPolicy',
+ 'type': 'main',
+ 'device_only': is_device_only,
+ }
+
+ expected_class = 'Machine' if is_device_only else 'User';
+
+ self._initWriterForPolicy(self.writer, main_policy)
+ self.writer.WritePolicy(main_policy)
+
+ output = self.GetXMLOfChildren(self._GetPoliciesElement(self.writer._doc))
+ expected_output = (
+ '<policy class="' + expected_class + '"'
+ ' displayName="$(string.DummyMainPolicy)"'
+ ' explainText="$(string.DummyMainPolicy_Explain)"'
+ ' key="Software\\Policies\\' + self._GetKey() + '"'
+ ' name="DummyMainPolicy"'
+ ' presentation="$(presentation.DummyMainPolicy)"'
+ ' valueName="DummyMainPolicy">\n'
+ ' <parentCategory ref="PolicyGroup"/>\n'
+ ' <supportedOn ref="SUPPORTED_TESTOS"/>\n'
+ ' <enabledValue>\n'
+ ' <decimal value="1"/>\n'
+ ' </enabledValue>\n'
+ ' <disabledValue>\n'
+ ' <decimal value="0"/>\n'
+ ' </disabledValue>\n'
+ '</policy>')
+
+ self.AssertXMLEquals(output, expected_output)
+
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698