Bug 1237396 - Added continue to control statements. draft
authorBenjamin Forehand Jr <bennyjr169@gmail.com>
Wed, 09 Mar 2016 17:19:35 -0500
changeset 343674 f71115ae05bc9644bfb0341f1509bc0070597fa2
parent 343376 ea6298e1b4f7e22ce2311b2b6a918822f0adb112
child 516816 51baf402d0471cf6bc26c7f885ab63c53d14ef57
push id13671
push userbmo:bennyjr169@gmail.com
push dateWed, 23 Mar 2016 03:21:14 +0000
bugs1237396
milestone48.0a1
Bug 1237396 - Added continue to control statements. I think this is what you were looking for whimboo. It took some figuring out but please tell me if I am not on the right path! MozReview-Commit-ID: EGkWR2Cm4YN
testing/firefox-ui/tests/functional/security/manifest.ini
testing/firefox-ui/tests/functional/security/test_safe_browsing_initial_download.py
--- a/testing/firefox-ui/tests/functional/security/manifest.ini
+++ b/testing/firefox-ui/tests/functional/security/manifest.ini
@@ -4,16 +4,17 @@ tags = remote
 [test_dv_certificate.py]
 [test_enable_privilege.py]
 tags = local
 [test_ev_certificate.py]
 [test_mixed_content_page.py]
 [test_mixed_script_content_blocking.py]
 [test_no_certificate.py]
 tags = local
+[test_safe_browsing_initial_download.py]
 [test_safe_browsing_notification.py]
 [test_safe_browsing_warning_pages.py]
 [test_security_notification.py]
 [test_ssl_disabled_error_page.py]
 [test_ssl_status_after_restart.py]
 skip-if = (os == "win" && os_version == "5.1") # Bug 1167179: Fails to open popups after restart
 [test_submit_unencrypted_info_warning.py]
 [test_unknown_issuer.py]
new file mode 100644
--- /dev/null
+++ b/testing/firefox-ui/tests/functional/security/test_safe_browsing_initial_download.py
@@ -0,0 +1,81 @@
+# 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/.
+
+import os
+
+from marionette_driver import Wait
+from firefox_puppeteer.testcases import FirefoxTestCase
+
+
+class TestSafeBrowsingInitialDownload(FirefoxTestCase):
+
+    test_data = [{
+            'platforms': ['linux', 'windows_nt', 'darwin'],
+            'files': [
+                # Phishing
+                "goog-badbinurl-shavar.cache",
+                "goog-badbinurl-shavar.pset",
+                "goog-badbinurl-shavar.sbstore",
+                "goog-malware-shavar.cache",
+                "goog-malware-shavar.pset",
+                "goog-malware-shavar.sbstore",
+                "goog-phish-shavar.cache",
+                "goog-phish-shavar.pset",
+                "goog-phish-shavar.sbstore",
+                "goog-unwanted-shavar.cache",
+                "goog-unwanted-shavar.pset",
+                "goog-unwanted-shavar.sbstore",
+
+                # Tracking Protections
+                "mozstd-track-digest256.cache",
+                "mozstd-track-digest256.pset",
+                "mozstd-track-digest256.sbstore",
+                "mozstd-trackwhite-digest256.cache",
+                "mozstd-trackwhite-digest256.pset",
+                "mozstd-trackwhite-digest256.sbstore"
+                ]
+            },
+        {
+            'platforms': ['windows_nt'],
+            'files': [
+                "goog-downloadwhite-digest256.cache",
+                "goog-downloadwhite-digest256.pset",
+                "goog-downloadwhite-digest256.sbstore"
+            ]
+        }
+    ]
+
+    browser_prefs = {
+        'browser.safebrowsing.downloads.enabled': 'true',
+        'browser.safebrowsing.enabled': 'true',
+        'browser.safebrowsing.malware.enabled': 'true',
+        'browser.safebrowsing.provider.google.nextupdatetime': 1,
+        'browser.safebrowsing.provider.mozilla.nextupdatetime': 1
+    }
+
+    def setUp(self):
+        FirefoxTestCase.setUp(self)
+
+        # Restart Browser
+        self.restart()
+
+        # Set Browser Preferences
+        for item, value in self.browser_prefs.items():
+            self.prefs.set_pref(item, value)
+
+        # Get safebrowsing path where downloaded data gets stored
+        self.sb_files_path = os.path.join(self.marionette.instance.profile.profile, 'safebrowsing')
+
+    def test_safe_browsing_initial_download(self):
+
+        # Wait variable
+        wait = Wait(self.marionette, timeout=self.browser.timeout_page_load)
+
+        for data in self.test_data:
+            if self.platform not in data['platforms']:
+                continue
+            for item in data['files']:
+                wait.until(
+                    lambda _: os.path.exists(os.path.join(self.sb_files_path, item)),
+                    message='Safe Browsing File ' + item + ' not found!')