[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