Closed Bug 1649896 Opened 4 years ago Closed 3 years ago

Add unit test for addon updates with blocklist v3

Categories

(Toolkit :: Blocklist Implementation, task, P2)

task

Tracking

()

RESOLVED DUPLICATE of bug 1662857

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).

Tentatively P1'ing based on you assigning this. Please downgrade priority if you don't intend to work on this soon.

Severity: -- → S3
Type: task → defect
Priority: -- → P1
Priority: P1 → P2
Type: defect → task

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

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.