add key-import button to interface

This commit is contained in:
2022-11-25 02:12:05 +02:00
parent 766081d212
commit 5073c80af1
41 changed files with 727 additions and 177 deletions

View File

@ -81,9 +81,9 @@ def test_key_download(gpg: GPG, mocker: MockerFixture) -> None:
must download the key from public server
"""
requests_mock = mocker.patch("requests.get")
gpg.key_download("pgp.mit.edu", "0xE989490C")
gpg.key_download("keyserver.ubuntu.com", "0xE989490C")
requests_mock.assert_called_once_with(
"http://pgp.mit.edu/pks/lookup",
"https://keyserver.ubuntu.com/pks/lookup",
params={"op": "get", "options": "mr", "search": "0xE989490C"},
timeout=gpg.DEFAULT_TIMEOUT)
@ -94,7 +94,7 @@ def test_key_download_failure(gpg: GPG, mocker: MockerFixture) -> None:
"""
mocker.patch("requests.get", side_effect=requests.exceptions.HTTPError())
with pytest.raises(requests.exceptions.HTTPError):
gpg.key_download("pgp.mit.edu", "0xE989490C")
gpg.key_download("keyserver.ubuntu.com", "0xE989490C")
def test_key_import(gpg: GPG, mocker: MockerFixture) -> None:
@ -104,7 +104,7 @@ def test_key_import(gpg: GPG, mocker: MockerFixture) -> None:
mocker.patch("ahriman.core.sign.gpg.GPG.key_download", return_value="key")
check_output_mock = mocker.patch("ahriman.core.sign.gpg.GPG._check_output")
gpg.key_import("pgp.mit.edu", "0xE989490C")
gpg.key_import("keyserver.ubuntu.com", "0xE989490C")
check_output_mock.assert_called_once_with("gpg", "--import", input_data="key", logger=pytest.helpers.anyvar(int))

View File

@ -36,6 +36,24 @@ def test_process_error(spawner: Spawn) -> None:
assert spawner.queue.empty()
def test_key_import(spawner: Spawn, mocker: MockerFixture) -> None:
"""
must call key import
"""
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
spawner.key_import("0xdeadbeaf", None)
spawn_mock.assert_called_once_with("key-import", "0xdeadbeaf")
def test_key_import_with_server(spawner: Spawn, mocker: MockerFixture) -> None:
"""
must call key import with server specified
"""
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
spawner.key_import("0xdeadbeaf", "keyserver.ubuntu.com")
spawn_mock.assert_called_once_with("key-import", "0xdeadbeaf", **{"key-server": "keyserver.ubuntu.com"})
def test_packages_add(spawner: Spawn, mocker: MockerFixture) -> None:
"""
must call package addition
@ -54,15 +72,6 @@ def test_packages_add_with_build(spawner: Spawn, mocker: MockerFixture) -> None:
spawn_mock.assert_called_once_with("package-add", "ahriman", "linux", source="aur", now="")
def test_packages_add_update(spawner: Spawn, mocker: MockerFixture) -> None:
"""
must call repo update
"""
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
spawner.packages_add([], now=False)
spawn_mock.assert_called_once_with("repo-update")
def test_packages_remove(spawner: Spawn, mocker: MockerFixture) -> None:
"""
must call package removal
@ -72,6 +81,15 @@ def test_packages_remove(spawner: Spawn, mocker: MockerFixture) -> None:
spawn_mock.assert_called_once_with("package-remove", "ahriman", "linux")
def test_packages_update(spawner: Spawn, mocker: MockerFixture) -> None:
"""
must call repo update
"""
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
spawner.packages_update()
spawn_mock.assert_called_once_with("repo-update")
def test_spawn_process(spawner: Spawn, mocker: MockerFixture) -> None:
"""
must correctly spawn child process

View File

@ -325,6 +325,7 @@ def test_walk(resource_path_root: Path) -> None:
resource_path_root / "models" / "package_tpacpi-bat-git_srcinfo",
resource_path_root / "models" / "package_yay_srcinfo",
resource_path_root / "web" / "templates" / "build-status" / "failed-modal.jinja2",
resource_path_root / "web" / "templates" / "build-status" / "key-import-modal.jinja2",
resource_path_root / "web" / "templates" / "build-status" / "login-modal.jinja2",
resource_path_root / "web" / "templates" / "build-status" / "package-add-modal.jinja2",
resource_path_root / "web" / "templates" / "build-status" / "package-info-modal.jinja2",