Add unit test for addon updates with blocklist v3
Categories
(Toolkit :: Blocklist Implementation, task, P2)
Tracking
()
People
(Reporter: robwu, Assigned: robwu)
References
Details
With blocklist v2, the addon updater ignores blocked add-ons.
With blocklist v3, if an add-on is blocked via a stash, the same behavior applies. This is what I use to migrate the test_blocklistchange.js
test in bug 1631018.
With blocklist v3, if an add-on is blocked via a bloom filter, the behavior changes: because the XPI file isn't available, its signature cannot be verified, and block decisions are deferred until after the XPI has been downloaded. This does mean that a user may update to an add-on that immediately becomes blocked (instead of not updating).
In the usual blocklisting flow, blocked add-ons are disabled and AMO won't include them in updates (exception: https://github.com/mozilla/addons-server/issues/13124). So only unlisted add-ons are affected by this.
Updating an (unlisted) add-on and immediately blocking it is an edge case and acceptable behavior, because there wasn't a guarantee for the add-on to not be blocked in the first place: it was previously already possible for a user to end up with a blocked add-on if they had updated the add-on before the block was received.
The behavior (old and new) are both acceptable, but to make sure that it continues to be stable, we need to add a unit test to cover the case where an add-on is only blocked in the bloom filter (and not in a stash). In bug 1631018 I migrated an existing test to test with stashes, but if the new test is added (e.g. a new file "test_blocklist_mlbf_addonupdate.js"), we may as well merge the relevant part from test_blocklistchange.js
with the new file (so we run the same scenarios for blocklist v3 with stashes and without stashes).
Comment 1•4 years ago
|
||
Tentatively P1'ing based on you assigning this. Please downgrade priority if you don't intend to work on this soon.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 2•3 years ago
|
||
Done in bug 1662857. Let's not forget to keep the relevant test task if we ever remove telemetry. Relevan test is test_blocklist_statechange_telemetry.js
, tasks update_check_blocked_by_stash
+ update_check_blocked_by_mlbf
Description
•