Services/TrackingProtection/Shavar Server - Testing: Difference between revisions

 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<span style="color:#FF0000">This page is deprecated!!!!!! Please see:  [https://testrail.stage.mozaws.net/index.php?/suites/view/354&group_by=cases:section_id&group_order=asc TestRail testcase repository]</span>
<span style="color:#FF0000">(for TestRail permissions, file an issue here:  https://github.com/mozilla-services/shavar-e2e-tests )</span>
[[Category:Test Plans]]
[[Category:Test Plans]]
= Testplan (Overview) =  
= Testplan (Overview) =  
Line 44: Line 51:
** client-only test! (shavar-server could be completely broken and we wouldn't know)
** client-only test! (shavar-server could be completely broken and we wouldn't know)
** good test to run first, because if its broken, no reason to proceed
** good test to run first, because if its broken, no reason to proceed
* http://people.mozilla.org/~fmarier/tracking-test/
* https://mozilla.github.io/tracking-test/
* https://mozilla.github.io/tracking-test/ads.html
* https://mozilla.github.io/tracking-test/analytics.html
* https://mozilla.github.io/tracking-test/social.html
** page checks if list delivery/generation is broken
** page checks if list delivery/generation is broken
** Uses: http://extremetracking.com/ (essentially within an iframe)
** Uses: http://extremetracking.com/ (essentially within an iframe)
Line 64: Line 74:
PRODUCTION:
PRODUCTION:
* shavar.services.mozilla.com - e2e test URL (no loadtesting on PRODUCTION)
* shavar.services.mozilla.com - e2e test URL (no loadtesting on PRODUCTION)
* tracking.services.mozilla.com (TO BE DEPRECATED)
* tracking-protection.cdn.mozilla.net - CDN for lists
* tracking-protection.cdn.mozilla.net - CDN for lists


Line 101: Line 110:
* ideally we'd be using the real list  
* ideally we'd be using the real list  
** we can do that for almost all the end-2-end and validation tests, but we can't do that for the "update" test
** we can do that for almost all the end-2-end and validation tests, but we can't do that for the "update" test
[[#top]]
== Test Tools ==
There is a bash script (hack) to assist with client/server side testing: 
https://github.com/rpappalax/shavar-verify


[[#top]]
[[#top]]
Line 119: Line 121:
=== STAGE ===
=== STAGE ===
1) Verify the download of all lists:
1) Verify the download of all lists:
<code>
   $ curl -d" "  'https://shavar.stage.mozaws.net/list?client=foo&appver=1&pver=2.2'
   $ curl -d" "  'https://shavar.stage.mozaws.net/list?client=foo&appver=1&pver=2.2'
</code>


Should return all of these lists:
Should return all of these lists:


<code>
  ads-track-digest256
base-track-digest256
  allow-flashallow-digest256
baseeff-track-digest256
  analytics-track-digest256
basew3c-track-digest256
  base-track-digest256
content-track-digest256
  baseeff-track-digest256
contenteff-track-digest256
  basew3c-track-digest256
contentw3c-track-digest256
  block-flash-digest256
mozfull-track-digest256
  block-flashsubdoc-digest256
mozfullstaging-track-digest256
  content-track-digest256
mozplugin-block-digest256
  contenteff-track-digest256
mozplugin2-block-digest256
  contentw3c-track-digest256
mozstd-track-digest256
  except-flash-digest256
mozstd-trackwhite-digest256
  except-flashallow-digest256
mozstdstaging-track-digest256
  except-flashinfobar-digest256
mozstdstaging-trackwhite-digest256
  except-flashsubdoc-digest256
moztestpub-track-digest256
  except-infobars-digest256
moztestpub-trackwhite-digest256
  mozfull-track-digest256
</code>
  mozfullstaging-track-digest256
  mozplugin-block-digest256
  mozpub-track-digest256
  mozstd-track-digest256
  mozstd-trackwhite-digest256
  mozstdstaging-track-digest256
  mozstdstaging-trackwhite-digest256
  moztestpub-track-digest256
  moztestpub-trackwhite-digest256
  social-track-digest256


2) Curl each of the list groups.  
2) Curl each of the list groups.  
Line 149: Line 157:
Example for MOZSTD:
Example for MOZSTD:


<code>
    $ curl -d "mozstd-track-digest256;" 'https://shavar.stage.mozaws.net/downloads?client=foo&appver=1&pver=2.2'
  $ curl -d"mozstd-track-digest256;" 'https://shavar.stage.mozaws.net/downloads?client=foo&appver=1&pver=2.2'
</code>


Should return a response similar to this:
Should return a response similar to this:


<code>
   n:3600
   n:3600
   i:mozstd-track-digest256
   i:mozstd-track-digest256
   u:tracking-protection.stage.mozaws.net/mozstd-track-digest256/1442275596
   u:tracking-protection.stage.mozaws.net/mozstd-track-digest256/1442275596
</code>
 


[[#top]]
[[#top]]


=== PRE-PRODUCTION ===
=== PRE-PRODUCTION ===
Stack checks are run on pre-prod to verify that a new app stack returns the same results as the old stack. It verifies the server response. This environment is only up when the tests need to be run, which is only when there is a new stack.


<code>
  $ curl -k -d" "  'https://shavarprodtest.prod.mozaws.net/list?client=foo&appver=1&pver=2.2'
  $ curl -k -d" "  'https://shavarprodtest.prod.mozaws.net/list?client=foo&appver=1&pver=2.2'
</code>
 


Should return all of these lists:
Should return all of these lists:
[* update with next verification]


<code>
  base-track-digest256
  base-track-digest256
  baseeff-track-digest256
  baseeff-track-digest256
Line 186: Line 191:
  mozstdstaging-track-digest256
  mozstdstaging-track-digest256
  mozstdstaging-trackwhite-digest256
  mozstdstaging-trackwhite-digest256
</code>


[[#top]]
[[#top]]


=== PRODUCTION ===
=== PRODUCTION ===
<code>
   # shavar URL
   # shavar URL
   $ curl -d" "  'https://shavar.services.mozilla.com/list?client=foo&appver=1&pver=2.2'
   $ curl -d" "  'https://shavar.services.mozilla.com/list?client=foo&appver=1&pver=2.2'
   # tracking URL (CNAME'd to shavar URL - should produce same output)
   # tracking URL (CNAME'd to shavar URL - should produce same output)
   $ curl -d" "  'https://tracking.services.mozilla.com/list?client=foo&appver=1&pver=2.2'
   $ curl -d" "  'https://tracking.services.mozilla.com/list?client=foo&appver=1&pver=2.2'
</code>


Should return all of these lists:
Should return all of these lists:
<code>
ads-track-digest256
allow-flashallow-digest256
analytics-track-digest256
  base-track-digest256
  base-track-digest256
  baseeff-track-digest256
  baseeff-track-digest256
  basew3c-track-digest256
  basew3c-track-digest256
block-flash-digest256
block-flashsubdoc-digest256
  content-track-digest256
  content-track-digest256
  contenteff-track-digest256
  contenteff-track-digest256
  contentw3c-track-digest256
  contentw3c-track-digest256
except-flash-digest256
except-flashallow-digest256
except-flashinfobar-digest256
except-flashsubdoc-digest256
  mozfull-track-digest256
  mozfull-track-digest256
  mozfullstaging-track-digest256
  mozfullstaging-track-digest256
  mozplugin-block-digest256
  mozplugin-block-digest256
  mozplugin2-block-digest256
  mozplugin2-block-digest256
mozpub-track-digest256
  mozstd-track-digest256
  mozstd-track-digest256
  mozstd-trackwhite-digest256
  mozstd-trackwhite-digest256
  mozstdstaging-track-digest256
  mozstdstaging-track-digest256
  mozstdstaging-trackwhite-digest256
  mozstdstaging-trackwhite-digest256
</code>
social-track-digest256
 


Curl for the mozstd list:
Curl for the mozstd list:
<code>
   # shavar URL  
   # shavar URL  
   $ curl -d"mozstd-track-digest256;" 'https://shavar.services.mozilla.com/downloads?client=foo&appver=1&pver=2.2'
   $ curl -d"mozstd-track-digest256;" 'https://shavar.services.mozilla.com/downloads?client=foo&appver=1&pver=2.2'
   # tracking URL (CNAME'd to shavar URL - should produce same output)
   # tracking URL (CNAME'd to shavar URL - should produce same output)
   $ curl -d"mozstd-track-digest256;" 'https://tracking.services.mozilla.com/downloads?client=foo&appver=1&pver=2.2'
   $ curl -d"mozstd-track-digest256;" 'https://tracking.services.mozilla.com/downloads?client=foo&appver=1&pver=2.2'
</code>


Should return this:
Should return this:
<code>
   n:3600
   n:3600
   i:mozstd-track-digest256
   i:mozstd-track-digest256
   u:tracking-protection.services.mozilla.com/mozstd-track-digest256/1442275596
   u:tracking-protection.services.mozilla.com/mozstd-track-digest256/1442275596
</code>
Curl for the mozfull lists:
<code>
  # shavar URL
  $ curl -d"mozfull-track-digest256;" 'https://shavar.services.mozilla.com/downloads?client=foo&appver=1&pver=2.2'
  # tracking URL (CNAME'd to shavar URL - should produce same output)
  $ curl -d"mozfull-track-digest256;" 'https://tracking.services.mozilla.com/downloads?client=foo&appver=1&pver=2.2'
</code>
Should return this:
<code>
  n:3600
  i:mozfull-track-digest256
  u:tracking-protection.services.mozilla.com/mozfull-track-digest256/1442275596
</code>


[[#top]]
[[#top]]
Line 378: Line 364:
* Below are the custom prefs needed for each of the data lists
* Below are the custom prefs needed for each of the data lists
* Not all data lists (and corresponding prefs) are needed for each test
* Not all data lists (and corresponding prefs) are needed for each test
NOTE:
* use mozstd, til patch lands


=== SET CUSTOM PREFS ===
=== SET CUSTOM PREFS ===


'''NOTE'''
'''NOTE'''
* Prefs info is permanently located at (https://github.com/mozilla-services/services-test/blob/dev/shavar/e2e-test/prefs.ini)
* Prefs are listed below for stage testing.
* Prefs are listed below for stage testing.
* To test production, replace staging URL (stage.mozaws.net) with production URL (shavar.services.mozilla.com)
* To test production, replace staging URL (stage.mozaws.net) with production URL (shavar.services.mozilla.com)
* all list files are tested in both stage and production (except moztestpub - stage only)
* all list files are tested in both stage and production (except moztestpub - stage only)
*  line 9 of "Prefs for: mozpub list file" removes the whitelist ("-trackwhite-") that's in there by default. Once removed it will not be downloaded anymore.


'''Prefs for: moztestpub list file'''
'''Prefs for: base list file'''
<source>


<source lang="bash">
user_pref("browser.startup.homepage", "http://itisatrap.org/firefox/its-a-tracker.html");
user_pref("browser.startup.homepage", "http://itisatrap.org/firefox/its-a-tracker.html");
user_pref("browser.safebrowsing.debug", true);
user_pref("browser.safebrowsing.debug", true);
Line 403: Line 386:
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("urlclassifier.trackingTable", "test-track-simple,moztestpub-track-digest256");          
user_pref("urlclassifier.trackingTable", "test-track-simple,base-track-digest256,baseeff-track-digest256,basew3c-track-digest256,content-track-digest256,contenteff-track-digest256,contentw3c-track-digest256");
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,moztestpub-trackwhite-digest256");
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstd-trackwhite-digest256");
</source>
</source>


 
'''Create a Strict list'''
 
'''Prefs for: mozstd list file'''


<source lang="bash">
<source lang="bash">
user_pref("browser.startup.homepage", "http://itisatrap.org/firefox/its-a-tracker.html");
1. Create a new Nightly profile.
user_pref("browser.safebrowsing.debug", true);
2. Go into about:preferences#privacy and set Tracking Protection to Always.
user_pref("browser.safebrowsing.phishing.enabled", false);
3. Click on Change Block List and select strict protection.
user_pref("browser.safebrowsing.malware.enabled", false);
4. Make these edits in about:config
user_pref("privacy.trackingprotection.enabled", true);
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", 1);
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", 1);
user_pref("browser.safebrowsing.provider.mozilla.lists", "test-malware-simple,test-phish-simple,test-unwanted-simple,test-track-simple,test-trackwhite-simple,test-block-simple,goog-downloadwhite-digest256,mozstd-track-digest256,mozstd-trackwhite-digest256,mozfull-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,moztestpub-track-digest256,moztestpub-trackwhite-digest256,mozstdstaging-track-digest256,mozfullstaging-track-digest256,mozstdstaging-trackwhite-digest256,base-track-digest256,baseeff-track-digest256,basew3c-track-digest256,content-track-digest256,contenteff-track-digest256,contentw3c-track-digest256");
user_pref("urlclassifier.disallow_completions", "test-malware-simple,test-phish-simple,test-unwanted-simple,test-track-simple,test-trackwhite-simple,test-block-simple,goog-downloadwhite-digest256,mozstd-track-digest256,mozstd-trackwhite-digest256,mozfull-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,moztestpub-track-digest256,moztestpub-trackwhite-digest256,mozstdstaging-track-digest256,mozfullstaging-track-digest256,mozstdstaging-trackwhite-digest256,base-track-digest256,baseeff-track-digest256,basew3c-track-digest256,content-track-digest256,contenteff-track-digest256,contentw3c-track-digest256");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("urlclassifier.trackingTable", "test-track-simple,mozstd-track-digest256");         
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstd-trackwhite-digest256");
</source>
</source>


'''Prefs for: mozfull list file'''
'''Create a Cryptomining Fingerprinting list'''


<source lang="bash">
<source lang="bash">
1. Create a new profile
2. Make these edits in about:config
browser.safebrowsing.provider.mozilla.gethashURL;https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2
browser.safebrowsing.provider.mozilla.updateURL;https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2
browser.safebrowsing.provider.mozilla.lists;base-track-digest256,mozstd-trackwhite-digest256,content-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,block-flash-digest256,except-flash-digest256,allow-flashallow-digest256,except-flashallow-digest256,block-flashsubdoc-digest256,except-flashsubdoc-digest256,except-flashinfobar-digest256,ads-track-digest256,social-track-digest256,analytics-track-digest256,fastblock1-track-digest256,fastblock1-trackwhite-digest256,fastblock2-track-digest256,fastblock2-trackwhite-digest256,fastblock3-track-digest256,base-cryptomining-track-digest256,base-fingerprinting-track-digest256
urlclassifier.trackingTable;test-track-simple,base-track-digest256,base-cryptomining-track-digest256,base-fingerprinting-track-digest256
browser.safebrowsing.provider.mozilla.nextupdatetime;0
3. Restart browser
4. Open a Private Browsing window
</source>
'''Prefs for: moztestpub list file'''
<source>
user_pref("browser.startup.homepage", "http://itisatrap.org/firefox/its-a-tracker.html");
user_pref("browser.startup.homepage", "http://itisatrap.org/firefox/its-a-tracker.html");
user_pref("browser.safebrowsing.debug", true);
user_pref("browser.safebrowsing.debug", true);
Line 439: Line 430:
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("urlclassifier.trackingTable", "test-track-simple,mozfull-track-digest256");          
user_pref("urlclassifier.trackingTable", "test-track-simple,moztestpub-track-digest256");          
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstd-trackwhite-digest256");
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,moztestpub-trackwhite-digest256");
</source>
</source>


'''Prefs for: mozstaging list file'''
 
 
'''Prefs for: mozstd list file'''


<source lang="bash">
<source lang="bash">
Line 456: Line 449:
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("urlclassifier.trackingTable", "test-track-simple,mozstdstaging-track-digest256,mozfullstaging-track-digest256");                  
user_pref("urlclassifier.trackingTable", "test-track-simple,mozstd-track-digest256");          
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstdstaging-trackwhite-digest256");
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstd-trackwhite-digest256");
</source>
</source>


 
'''Prefs for: mozfull list file'''
'''Prefs for: base list file'''


<source lang="bash">
<source lang="bash">
Line 474: Line 466:
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("urlclassifier.trackingTable", "test-track-simple,base-track-digest256,baseeff-track-digest256,basew3c-track-digest256,content-track-digest256,contenteff-track-digest256,contentw3c-track-digest256");
user_pref("urlclassifier.trackingTable", "test-track-simple,mozfull-track-digest256");          
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstd-trackwhite-digest256");
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstd-trackwhite-digest256");
</source>
</source>


 
'''Prefs for: mozstaging list file'''
'''Prefs for: moztestpub list file (OLD)'''


<source lang="bash">
<source lang="bash">
Line 486: Line 477:
user_pref("browser.safebrowsing.phishing.enabled", false);
user_pref("browser.safebrowsing.phishing.enabled", false);
user_pref("browser.safebrowsing.malware.enabled", false);
user_pref("browser.safebrowsing.malware.enabled", false);
user_pref("privacy.trackingprotection.enabled", true);
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", 1);
user_pref("browser.safebrowsing.provider.mozilla.lists", "test-malware-simple,test-phish-simple,test-unwanted-simple,test-track-simple,test-trackwhite-simple,test-block-simple,goog-downloadwhite-digest256,mozstd-track-digest256,mozstd-trackwhite-digest256,mozfull-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,moztestpub-track-digest256,moztestpub-trackwhite-digest256,mozstdstaging-track-digest256,mozfullstaging-track-digest256,mozstdstaging-trackwhite-digest256,base-track-digest256,baseeff-track-digest256,basew3c-track-digest256,content-track-digest256,contenteff-track-digest256,contentw3c-track-digest256");
user_pref("urlclassifier.disallow_completions", "test-malware-simple,test-phish-simple,test-unwanted-simple,test-track-simple,test-trackwhite-simple,test-block-simple,goog-downloadwhite-digest256,mozstd-track-digest256,mozstd-trackwhite-digest256,mozfull-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,moztestpub-track-digest256,moztestpub-trackwhite-digest256,mozstdstaging-track-digest256,mozfullstaging-track-digest256,mozstdstaging-trackwhite-digest256,base-track-digest256,baseeff-track-digest256,basew3c-track-digest256,content-track-digest256,contenteff-track-digest256,contentw3c-track-digest256");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.stage.mozaws.net/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.stage.mozaws.net/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
user_pref("privacy.trackingprotection.enabled", true);
user_pref("urlclassifier.trackingTable", "test-track-simple,mozstdstaging-track-digest256,mozfullstaging-track-digest256");                  
user_pref("urlclassifier.trackingTable", "test-track-simple,moztestpub-track-digest256");
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozstdstaging-trackwhite-digest256");
user_pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,moztestpub-trackwhite-digest256");
user_pref("urlclassifier.disallow_completions", "test-malware-simple,test-phish-simple,test-unwanted-simple,test-track-simple,test-trackwhite-simple,goog-downloadwhite-digest256,moztestpub-track-digest256,moztestpub-trackwhite-digest256");
user_pref("browser.safebrowsing.provider.mozilla.lists", "moztestpub-track-digest256,moztestpub-trackwhite-digest256");
</source>
</source>
* !!!!!  restart Firefox !!!!!!
Replace production URL with stage URL for the following prefs:
* browser.trackingprotection.updateURL
* browser.trackingprotection.gethashURL
Set pref for debugging:
* browser.safebrowsing.debug = true
** this will give you some will give you some updates on the console
Remove Google malware & phishing protection:
* browser.safebrowsing.phishing.enabled = false
* browser.safebrowsing.malware.enabled = false
* privacy.trackingprotection.enabled = true (no reboot necessary)
'''RESET BROWSER'''
* !!!!!  restart Firefox !!!!!!


[[#top]]
[[#top]]
Line 526: Line 499:
Execute the following tests, once for each data list.
Execute the following tests, once for each data list.


LIST GROUPS
* moztestpub [STAGE ONLY]
* moztestpub [STAGE ONLY]
* mozstd
* mozstd
* mozfull
* mozfull
* mozstaging
* mozstaging
* mozplugin
* base
* base
* strict
* fastblock


==== verify list files cache ====  
==== verify list files cache ====  
Line 583: Line 559:


''''CACHE LOCATION'''
''''CACHE LOCATION'''
The cache has a different location for different operating systems.


For moztestpub lists:
Example for moztestpub lists:
<code>
<code>
     ~/.cache/mozilla/firefox/XXXX/safebrowsing/moztestpub-track{,white}-digest256.* on Linux  
     ~/.cache/mozilla/firefox/XXXX/safebrowsing/moztestpub-track{,white}-digest256.* on Linux  
     ~/Library/Caches/Firefox/Profiles/XXXX/safebrowsing/moztestpub-track{,white}-digest256.* on Mac  
     ~/Library/Caches/Firefox/Profiles/XXXX/safebrowsing/moztestpub-track{,white}-digest256.* on Mac  
</code>
For mozstd lists:
<code>
    ~/.cache/mozilla/firefox/XXXX/safebrowsing/mozstd-track{,white}-digest256.* on Linux
    ~/Library/Caches/Firefox/Profiles/XXXX/safebrowsing/mozstd-track{,white}-digest256.* on Mac
</code>
For mozfull list (uses mozstd for whitelist):
<code>
    ~/.cache/mozilla/firefox/XXXX/safebrowsing/mozfull-track-digest256.* on Linux
    ~/Library/Caches/Firefox/Profiles/XXXX/safebrowsing/mozfull-track-digest256.* on Mac
</code>
</code>


'''LIST FILES / SIZE'''
'''LIST FILES / SIZE'''
All files in the safebrowsing folder created for the profile should have full permissions.


for moztestpub lists:
Example for moztestpub lists:
<code>
<code>
  -rw-r--r--  1 johnnyquest  staff  52620 Sep 15 10:55 moztestpub-track-digest256.cache
  -rw-r--r--  1 johnnyquest  staff  52620 Sep 15 10:55 moztestpub-track-digest256.cache
Line 614: Line 580:
</code>
</code>


for mozstd lists:
==== verify list pages ====  
<code>
-rw-r--r--  1 johnnyquest  staff  52620 Sep 15 10:55 mozstd-track-digest256.cache
-rw-r--r--  1 johnnyquest  staff      16 Sep 15 10:55 mozstd-track-digest256.pset
-rw-r--r--  1 johnnyquest  staff  59380 Sep 15 10:55 mozstd-track-digest256.sbstore
-rw-r--r--  1 johnnyquest  staff  321676 Sep 15 10:55 mozstd-trackwhite-digest256.cache
-rw-r--r--  1 johnnyquest  staff      16 Sep 15 10:55 mozstd-trackwhite-digest256.pset
-rw-r--r--  1 johnnyquest  staff  362068 Sep 15 10:55 mozstd-trackwhite-digest256.sbstore
</code>
 
for mozfull list:
<code>
-rw-r--r--  1 johnnyquest  staff  52620 Sep 15 10:55 mozfull-track-digest256.cache
-rw-r--r--  1 johnnyquest  staff      16 Sep 15 10:55 mozfull-track-digest256.pset
-rw-r--r--  1 johnnyquest  staff  59380 Sep 15 10:55 mozfull-track-digest256.sbstore
</code>
 
==== verify its-a-tracker page ====  
 
repeat test 1 x for each of:
* STAGE: mozstd, mozfull, mozstaging, base
* PROD: mozstd, mozfull, mozstaging, base


Note: skip this test for moztestpub-track-digest256.
repeat test 1 x for each of these list groups:
* STAGE: mozstd, mozfull, moztestpub, base
* PROD: mozstd, mozfull, moztestpub, base


STEPS:
STEPS:
* Pull up this page: http://itisatrap.org/firefox/its-a-tracker.html  
* Set up list
* Ensure that it is all green
* Verify with matching test page:
** blacklist and whitelist are working
https://mozilla.github.io/tracking-test/ads.html
* This page doesn't hit shavar server at all
https://mozilla.github.io/tracking-test/analytics.html
* If not working, then either about:config issue or client issue - repeat above!
https://mozilla.github.io/tracking-test/social.html
https://mozilla.github.io/tracking-test/fastblock.html
https://mozilla.github.io/tracking-test/disconnect.html
https://mozilla.github.io/tracking-test/full.html  - for the Strict list


==== verify CNN page ====  
==== verify CNN page ====  
Line 684: Line 634:


* Follow setup instructions for moztestpub file here: [[#Setup|Setup]]  
* Follow setup instructions for moztestpub file here: [[#Setup|Setup]]  
* Pull up this test page: https://people.mozilla.org/~fmarier/tracking-test/
* Pull up this test page: https://mozilla.github.io/tracking-test/
* ensure that the resource is blocked:
* ensure that the resource is blocked:
* You should see:
* You should see:
Line 696: Line 646:
* Remove the extremetracking.com json blob from the blacklist (track.json) on https://github.com/mozilla-services/shavar-test-lists
* Remove the extremetracking.com json blob from the blacklist (track.json) on https://github.com/mozilla-services/shavar-test-lists
* This will trigger the stage list creation script (Cloud Services QA or Ops team can monitor this in Jenkins)
* This will trigger the stage list creation script (Cloud Services QA or Ops team can monitor this in Jenkins)
* Manually trigger an update via the mozilla button on the about:url-classifier page


==== verify disabled ====  
==== verify disabled ====  
Line 723: Line 674:


'''VERIFY'''
'''VERIFY'''
* check that it's no longer blocked by visiting https://people.mozilla.org/~fmarier/tracking-test/
* check that it's no longer blocked by visiting https://mozilla.github.io/tracking-test/
* If list with disabled trackingprotection has loaded, you should see: black cat bearing its claws: [https://wiki.mozilla.org/File:Tracking_protection_off.png Cat]
* If list with disabled trackingprotection has loaded, you should see: black cat bearing its claws: [https://wiki.mozilla.org/File:Tracking_protection_off.png Cat]


Line 737: Line 688:
==== verify enabled ====  
==== verify enabled ====  


* check that it's blocked again by visiting https://people.mozilla.org/~fmarier/tracking-test/
* check that it's blocked again by visiting https://mozilla.github.io/tracking-test/
* If list with trackingprotection enabled has loaded, you should see: fox with a stop sign: [https://wiki.mozilla.org/File:Tracking_protection_on.png Fox]
* If list with trackingprotection enabled has loaded, you should see: fox with a stop sign: [https://wiki.mozilla.org/File:Tracking_protection_on.png Fox]


Line 761: Line 712:
* Remove <tt>doubleclick.net</tt> and <tt>googlesyndication.com</tt> from the "Google" organization in the resources section of the whitelist (trackwhite.json) - https://github.com/mozilla-services/shavar-test-lists  
* Remove <tt>doubleclick.net</tt> and <tt>googlesyndication.com</tt> from the "Google" organization in the resources section of the whitelist (trackwhite.json) - https://github.com/mozilla-services/shavar-test-lists  
* This will trigger the stage list creation script (Cloud Services QA or Ops team can monitor this in Jenkins)
* This will trigger the stage list creation script (Cloud Services QA or Ops team can monitor this in Jenkins)
* Manually trigger an update via the mozilla button on the about:url-classifier page


==== verify disabled ====  
==== verify disabled ====  
Confirmed users
1,504

edits