[Pkg-mozext-commits] [requestpolicy] 138/257: [tst][ref] old rules: create OldRulesPrefs class

David Prévot taffit at moszumanska.debian.org
Thu Jan 28 03:20:06 UTC 2016


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository requestpolicy.

commit 62a64049e3bd879045f2c87f24106b79e84b0894
Author: Martin Kimmerle <dev at 256k.de>
Date:   Tue Nov 17 10:13:11 2015 +0100

    [tst][ref] old rules: create OldRulesPrefs class
---
 tests/marionette/rp_puppeteer/api/prefs.py         | 49 ++++++++++++
 tests/marionette/rp_puppeteer/tests/test_prefs.py  | 93 ++++++++++++++++++++++
 .../tests/policy/old_rules/test_import.py          | 13 +--
 3 files changed, 144 insertions(+), 11 deletions(-)

diff --git a/tests/marionette/rp_puppeteer/api/prefs.py b/tests/marionette/rp_puppeteer/api/prefs.py
index faccbb4..e3d2b6b 100644
--- a/tests/marionette/rp_puppeteer/api/prefs.py
+++ b/tests/marionette/rp_puppeteer/api/prefs.py
@@ -4,6 +4,10 @@
 
 from contextlib import contextmanager
 from firefox_puppeteer.api.prefs import Preferences as FxPreferences
+from firefox_puppeteer.base import BaseLib
+
+
+PREF_PREFIX = "extensions.requestpolicy."
 
 
 class Preferences(FxPreferences):
@@ -21,3 +25,48 @@ class Preferences(FxPreferences):
             yield
         finally:
             self.reset_pref(pref_name)
+
+    @property
+    def old_rules(self):
+        return OldRulesPrefs(lambda: self.marionette)
+
+
+def _pref_proprety(pref_name):
+    full_pref_name = PREF_PREFIX + pref_name
+    getter = lambda self: self.prefs.get_pref(full_pref_name)
+    setter = lambda self, value: self.prefs.set_pref(full_pref_name, value)
+    return property(getter, setter)
+
+
+class OldRulesPrefs(BaseLib):
+
+    PREFS = ("allowedOrigins", "allowedDestinations",
+             "allowedOriginsToDestinations")
+
+    def __init__(self, marionette_getter):
+        super(OldRulesPrefs, self).__init__(marionette_getter)
+
+        self.prefs = Preferences(lambda: self.marionette)
+
+    def remove_all_prefs(self):
+        for pref in self.PREFS:
+            self.prefs.reset_pref(PREF_PREFIX + pref)
+
+    def empty_all_prefs(self):
+        for pref in self.PREFS:
+            self.prefs.set_pref(PREF_PREFIX + pref, "")
+
+    def set_rules(self, rules):
+        for pref_name in self.PREFS:
+            value = rules[pref_name] if pref_name in rules else ""
+            self.prefs.set_pref(PREF_PREFIX + pref_name, value)
+
+    def get_rules(self):
+        rules = {}
+        for pref_name in self.PREFS:
+            rules[pref_name] = self.prefs.get_pref(PREF_PREFIX + pref_name)
+        return rules
+
+    origin_rules = _pref_proprety("allowedOrigins")
+    dest_rules = _pref_proprety("allowedDestinations")
+    origin_to_dest_rules = _pref_proprety("allowedOriginsToDestinations")
diff --git a/tests/marionette/rp_puppeteer/tests/test_prefs.py b/tests/marionette/rp_puppeteer/tests/test_prefs.py
index c7a1dc9..8d76892 100644
--- a/tests/marionette/rp_puppeteer/tests/test_prefs.py
+++ b/tests/marionette/rp_puppeteer/tests/test_prefs.py
@@ -22,3 +22,96 @@ class TestPrefs(RequestPolicyTestCase):
 
         self.assertEqual(self.prefs.get_pref(self.new_pref), None,
                          msg="The pref has been removed.")
+
+
+class TestOldRulesPrefs(RequestPolicyTestCase):
+
+    def setUp(self):
+        super(TestOldRulesPrefs, self).setUp()
+
+        self.old_rules = self.prefs.old_rules
+
+    def tearDown(self):
+        try:
+            self.old_rules.remove_all_prefs()
+        finally:
+            super(TestOldRulesPrefs, self).tearDown()
+
+    def test_remove_all_prefs(self):
+        self.old_rules.set_rules(self._data)
+        self.old_rules.remove_all_prefs()
+        self.assertDictEqual(self.old_rules.get_rules(),
+                             self._data__prefs_removed)
+
+    def test_empty_all_prefs(self):
+        self.old_rules.set_rules(self._data)
+        self.old_rules.empty_all_prefs()
+        self.assertDictEqual(self.old_rules.get_rules(),
+                             self._data__prefs_empty)
+
+    def test_set_and_get_rules(self):
+        self.old_rules.set_rules(self._data)
+        self.assertDictEqual(self.old_rules.get_rules(), self._data)
+
+    def test_set_rules__not_all(self):
+        # Fill all prefs with some values.
+        self.old_rules.set_rules(self._data)
+        # Set only some values
+        self.old_rules.set_rules({
+            "allowedOrigins": self._data["allowedOrigins"]
+        })
+        expected_rules = self._data__prefs_empty
+        expected_rules["allowedOrigins"] = self._data["allowedOrigins"]
+        self.assertDictEqual(self.old_rules.get_rules(), expected_rules,
+                             "The unspecified prefs have been emptied.")
+
+    #===========================================================================
+    # Test Getter/Setter properties
+    #===========================================================================
+
+    def test_set_origin_rules(self):
+        self.old_rules.origin_rules = "mozilla.org"
+        expected_rules = self._data__prefs_removed
+        expected_rules["allowedOrigins"] = "mozilla.org"
+        self.assertDictEqual(self.old_rules.get_rules(), expected_rules)
+
+    def test_set_dest_rules(self):
+        self.old_rules.dest_rules = "mozilla.net"
+        expected_rules = self._data__prefs_removed
+        expected_rules["allowedDestinations"] = "mozilla.net"
+        self.assertDictEqual(self.old_rules.get_rules(), expected_rules)
+
+    def test_set_origin_to_dest_rules(self):
+        self.old_rules.origin_to_dest_rules = "mozilla.org|mozilla.net"
+        expected_rules = self._data__prefs_removed
+        expected_rules["allowedOriginsToDestinations"] = "mozilla.org|mozilla.net"
+        self.assertDictEqual(self.old_rules.get_rules(), expected_rules)
+
+    def test_get_origin_rules(self):
+        self.old_rules.set_rules(self._data)
+        self.assertEqual(self.old_rules.origin_rules, "mozilla.org")
+
+    def test_get_dest_rules(self):
+        self.old_rules.set_rules(self._data)
+        self.assertEqual(self.old_rules.dest_rules, "mozilla.net")
+
+    def test_get_origin_to_dest_rules(self):
+        self.old_rules.set_rules(self._data)
+        self.assertEqual(self.old_rules.origin_to_dest_rules,
+                         "mozilla.org|mozilla.net")
+
+    @property
+    def _data(self):
+        return {"allowedOrigins": "mozilla.org",
+                "allowedDestinations": "mozilla.net",
+                "allowedOriginsToDestinations": "mozilla.org|mozilla.net"}
+
+    @property
+    def _data__prefs_removed(self):
+        return {"allowedOrigins": None, "allowedDestinations": None,
+                "allowedOriginsToDestinations": None}
+
+    @property
+    def _data__prefs_empty(self):
+        return {"allowedOrigins": "", "allowedDestinations": "",
+                "allowedOriginsToDestinations": ""}
diff --git a/tests/marionette/tests/policy/old_rules/test_import.py b/tests/marionette/tests/policy/old_rules/test_import.py
index 417fd70..23e7e0d 100644
--- a/tests/marionette/tests/policy/old_rules/test_import.py
+++ b/tests/marionette/tests/policy/old_rules/test_import.py
@@ -17,10 +17,7 @@ class RulesImportTestCase(RequestPolicyTestCase):
 
     def tearDown(self):
         try:
-            for pref in ("allowedOriginsToDestinations",
-                         "allowedOrigins",
-                         "allowedDestinations"):
-                self.prefs.reset_pref(PREF_PREFIX + pref)
+            self.prefs.old_rules.remove_all_prefs()
             self.rules.remove_all()
         finally:
             super(RulesImportTestCase, self).tearDown()
@@ -64,12 +61,6 @@ class RulesImportTestCase(RequestPolicyTestCase):
             ]
         }
 
-    def _add_legacy_rules(self, rules):
-        """Add the rules for v0.*.*."""
-
-        for (pref, value) in rules.items():
-            self.prefs.set_pref(PREF_PREFIX + pref, value)
-
     def _rule(self, rule_data):
         return self.rules.create_rule(rule_data, allow=True, temp=False)
 
@@ -118,7 +109,7 @@ class TestAutomaticRulesImportOnUpgrade(RulesImportTestCase):
             self.prefs.set_pref(PREF_LAST_RP_VERSION, last_rp_version)
             self.prefs.set_pref(PREF_WELCOME_WIN_SHOWN, not with_welcomewin)
 
-            self._add_legacy_rules(rules["v0"])
+            self.prefs.old_rules.set_rules(rules["v0"])
 
         expected_rules = rules["expected"] if should_autoimport else []
         self.assertListEqual(sorted(self.rules.get_rules()),

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/requestpolicy.git



More information about the Pkg-mozext-commits mailing list