[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