Source code

Revision control

Copy as Markdown

Other Tools

import pytest
from support.addons import get_ids_for_installed_addons
from tests.support.asserts import assert_error, assert_success
from tests.support.helpers import get_base64_for_extension_file
from . import install_addon, uninstall_addon
def test_uninstall_nonexistent_addon(session):
response = uninstall_addon(session, "i-do-not-exist-as-an-id")
assert_error(response, "unknown error")
@pytest.mark.allow_system_access
@pytest.mark.parametrize(
"filename, temporary",
[("firefox/signed.xpi", True), ("firefox/unsigned.xpi", False)],
)
def test_uninstall_addon(session, filename, temporary):
response = install_addon(
session, "addon", get_base64_for_extension_file(filename), temporary
)
addon_id = assert_success(response)
installed_addon_ids = get_ids_for_installed_addons(session)
assert addon_id in installed_addon_ids
response = uninstall_addon(session, addon_id)
assert_success(response)
installed_addon_ids = get_ids_for_installed_addons(session)
assert addon_id not in installed_addon_ids