[Pkg-mozext-commits] [requestpolicy] 140/257: [tst][add] new OldRulesPage library
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 aac5cff4b60c0851478179c5bc5a9bd0bb130870
Author: Martin Kimmerle <dev at 256k.de>
Date: Tue Nov 17 13:10:45 2015 +0100
[tst][add] new OldRulesPage library
---
.../rp_puppeteer/tests/test_old_rules_page.py | 69 ++++++++++++++++++++++
.../rp_puppeteer/ui/settings/__init__.py | 4 ++
.../rp_puppeteer/ui/settings/old_rules.py | 51 ++++++++++++++++
3 files changed, 124 insertions(+)
diff --git a/tests/marionette/rp_puppeteer/tests/test_old_rules_page.py b/tests/marionette/rp_puppeteer/tests/test_old_rules_page.py
new file mode 100644
index 0000000..34ac4d8
--- /dev/null
+++ b/tests/marionette/rp_puppeteer/tests/test_old_rules_page.py
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+from rp_ui_harness import RequestPolicyTestCase
+from rp_puppeteer.ui.settings.rules_table import RulesTable
+from rp_ui_harness.test_data.rules import ExemplaryOldRules
+
+
+PREF_PREFIX = "extensions.requestpolicy."
+
+
+class TestOldRulesPage(RequestPolicyTestCase):
+
+ def setUp(self):
+ super(TestOldRulesPage, self).setUp()
+
+ self.typical_rules = (ExemplaryOldRules(lambda: self.marionette)
+ .typical_rules)
+ self.prefs.old_rules.set_rules(self.typical_rules["v0"])
+
+ self.marionette.set_context("content")
+ self.settings.old_rules.open()
+
+ def tearDown(self):
+ try:
+ self.prefs.old_rules.remove_all_prefs()
+ self.rules.remove_all()
+ self.marionette.set_context("chrome")
+ finally:
+ super(TestOldRulesPage, self).tearDown()
+
+ ################
+ # Test Methods #
+ ################
+
+ def test_rules_table(self):
+ rules_table = self.settings.old_rules.rules_table
+ self.assertIsInstance(rules_table, RulesTable)
+
+ def test_open(self):
+ self.marionette.navigate("about:blank")
+ self.assertNotEqual(self.marionette.get_url(),
+ "about:requestpolicy?oldrules")
+ self.settings.old_rules.open()
+ self.assertEqual(self.marionette.get_url(),
+ "about:requestpolicy?oldrules")
+
+ def test_show_rules(self):
+ rule_rows = self.settings.old_rules.rules_table.all_rule_rows
+ self.assertEqual(len(rule_rows), len(self.typical_rules["expected"]))
+
+ self.assertFalse(rule_rows[0].element.is_displayed())
+ self.settings.old_rules.show_rules()
+ self.assertTrue(rule_rows[0].element.is_displayed())
+
+ def test_import_rules(self):
+ self.settings.old_rules.show_rules()
+ self.settings.old_rules.import_rules()
+ self.assertListEqual(sorted(self.rules.all),
+ sorted(self.typical_rules["expected"]))
+
+ def test_delete_old_rules(self):
+ self.settings.old_rules.delete_old_rules()
+
+ old_rules_prefs = self.prefs.old_rules
+ self.assertIsNone(old_rules_prefs.origin_rules)
+ self.assertIsNone(old_rules_prefs.dest_rules)
+ self.assertIsNone(old_rules_prefs.origin_to_dest_rules)
diff --git a/tests/marionette/rp_puppeteer/ui/settings/__init__.py b/tests/marionette/rp_puppeteer/ui/settings/__init__.py
index 9cec4ae..a0b6a07 100644
--- a/tests/marionette/rp_puppeteer/ui/settings/__init__.py
+++ b/tests/marionette/rp_puppeteer/ui/settings/__init__.py
@@ -8,6 +8,10 @@ from rp_puppeteer.decorators import use_class_as_property
class Settings(BaseLib):
+ @use_class_as_property('ui.settings.old_rules.OldRulesPage')
+ def old_rules(self):
+ pass
+
@use_class_as_property('ui.settings.your_policy.YourPolicy')
def your_policy(self):
pass
diff --git a/tests/marionette/rp_puppeteer/ui/settings/old_rules.py b/tests/marionette/rp_puppeteer/ui/settings/old_rules.py
new file mode 100644
index 0000000..268c520
--- /dev/null
+++ b/tests/marionette/rp_puppeteer/ui/settings/old_rules.py
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+from rp_puppeteer.base import BaseLib
+from .rules_table import RulesTable
+
+
+class OldRulesPage(BaseLib):
+
+ #################################
+ # Public Properties and Methods #
+ #################################
+
+ @property
+ def rules_table(self):
+ return RulesTable(lambda: self.marionette)
+
+ def open(self):
+ self.marionette.navigate("about:requestpolicy?oldrules")
+
+ def show_rules(self):
+ self._show_rules_button.click()
+
+ def import_rules(self):
+ self._import_button.click()
+
+ def delete_old_rules(self):
+ self._delete_button.click()
+
+ ##################################
+ # Private Properties and Methods #
+ ##################################
+
+ @property
+ def _show_rules_button(self):
+ return (self.marionette
+ .find_element("css selector",
+ "a[data-string=showOldRuleReimportOptions]"))
+
+ @property
+ def _import_button(self):
+ return (self.marionette
+ .find_element("css selector",
+ "button[data-string=importOldRules]"))
+
+ @property
+ def _delete_button(self):
+ return (self.marionette
+ .find_element("css selector",
+ "button[data-string=deleteOldRules]"))
--
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