Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

Outline

Tests for HTTPS Everywhere

Prerequisites

  • Latest release of the Firefox Add-On SDK as a submodule: git submodule update

Running

bash test.sh

To add tests, put them in ./https-everywhere-tests/tests.

Manual tests

These are test cases to execute manually before a release, and we should implement them as automated tests:

Firefox

  • Visit a site that triggers a ruleset (e.g., Reddit.com). Verify counter appears on HTTPS Everywhere icon.
  • Click HTTPS Everywhere icon menu, click 'show counter'. Verify counter disappears. Verify checkmark disappears from menu item.
  • Click HTTPS Everywhere icon, verify ruleset shows up in green.
  • Click ruleset.
  • Reopen HTTPS Everywhere icon menu, verify ruleset shows up in grey.
  • Reload HTTP version of the site, ensure it doesn't get rewritten now that the ruleset is disabled.
  • Click HTTP Everywhere icon, click ruleset again.
  • Reopen HTTPS Everywhere icon menu, verify ruleset shows up in green.
  • Click HTTPS Everywhere icon menu, click 'Enable / disable rules'. This will freeze up the browser for a few seconds. Verify it eventually opens up a dialog box listing all rules.
  • Right-click on a rule, click 'View XML source.' Verify it opens up a dialog box and shows the rule source.
  • Click HTTPS Everywhere icon menu, click 'Block all HTTP requests'. Verify icon turns red.
  • Visit an HTTP site known to not have a rewrite rule. http://amazon.com is a good example. Verify page does not load.
  • Visit an HTTPS site that contains passive mixed content that is not rewritten to HTTPS. https://jacob.hoffman-andrews.com/passive-mixed-content.html is a good example. Verify the passive mixed content (e.g., image) does not load. NOTE: Currently fails. EFForg#857
  • Click icon menu, click 'About HTTPS Everywhere.' Verify dialog opens.
  • Click icon menu, click 'SSL Observatory Preferences.' Verify dialog opens.
  • Click icon menu, click 'Disable HTTPS Everywhere.' Verify icon turns grey.
  • Visit a site that would normally trigger a ruleset. Verify it is not rewritten to HTTPS.
  • Click icon menu, click 'Enable HTTPS Everywhere.' Verify icon turns blue. Verify page reloads and is rewritten to HTTPS.
  • Look at log output, look for errors. Make sure certificates are being submitted to SSL Observatory
  • Tools > Web Developer > Browser Toolbox > Console. Check for errors.
  • TODO: Test translations?

Chromium

  • Visit a site that triggers a ruleset (e.g., Reddit.com). Verify counter appears on HTTPS Everywhere icon.
  • Click HTTPS Everywhere icon menu. Verify it contains appropriate ruleset.
  • Disable ruleset.
  • Visit HTTP version of the site again. Verify it does not get redirected to HTTPS.
  • Re-enable ruleset.
  • Visit HTTP version of the site again. Verify it does get redirected.
  • Visit site that does not have a ruleset. From icon menu, click 'Add this site', and complete site-adding process.
  • Reload the site. Verify it gets redirected to HTTPS.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.