Add fixtures for valid and invalid fingerprints
tests/conftest.py: Add `valid_fingerprint()` and `valid_subkey_fingerprint()` fixtures to produce a generic "valid" PGP fingerprint string. Add the `invalid_fingerprint()` fixture to generate a set of "invalid" fingerprint strings.
This commit is contained in:
parent
e42a895889
commit
16bed8ac4a
@ -1,7 +1,13 @@
|
|||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from random import choice
|
||||||
|
from random import randint
|
||||||
from shutil import copytree
|
from shutil import copytree
|
||||||
|
from string import ascii_letters
|
||||||
|
from string import digits
|
||||||
|
from string import hexdigits
|
||||||
|
from string import punctuation
|
||||||
from subprocess import PIPE
|
from subprocess import PIPE
|
||||||
from subprocess import Popen
|
from subprocess import Popen
|
||||||
from tempfile import NamedTemporaryFile
|
from tempfile import NamedTemporaryFile
|
||||||
@ -288,3 +294,53 @@ def working_dir() -> Generator[Path, None, None]:
|
|||||||
@fixture(scope="function")
|
@fixture(scope="function")
|
||||||
def keyring_dir(working_dir: Path) -> Generator[Path, None, None]:
|
def keyring_dir(working_dir: Path) -> Generator[Path, None, None]:
|
||||||
yield working_dir / "keyring"
|
yield working_dir / "keyring"
|
||||||
|
|
||||||
|
|
||||||
|
def random_string(length: int, chars: str) -> str:
|
||||||
|
return "".join(choice(chars) for x in range(length))
|
||||||
|
|
||||||
|
|
||||||
|
@fixture(scope="function", params=[16, 40], ids=["short_id", "long_id"])
|
||||||
|
def valid_fingerprint(request: Any) -> Generator[str, None, None]:
|
||||||
|
yield random_string(length=request.param, chars="ABCDEF" + digits)
|
||||||
|
|
||||||
|
|
||||||
|
@fixture(scope="function", params=[16, 40], ids=["short_id", "long_id"])
|
||||||
|
def valid_subkey_fingerprint(request: Any) -> Generator[str, None, None]:
|
||||||
|
yield random_string(length=request.param, chars="ABCDEF" + digits)
|
||||||
|
|
||||||
|
|
||||||
|
@fixture(
|
||||||
|
scope="function",
|
||||||
|
params=[
|
||||||
|
(
|
||||||
|
16,
|
||||||
|
ascii_letters + hexdigits + punctuation,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
40,
|
||||||
|
ascii_letters + hexdigits + punctuation,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
randint(0, 15),
|
||||||
|
"ABCDEF" + digits,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
randint(17, 39),
|
||||||
|
"ABCDEF" + digits,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
randint(41, 100),
|
||||||
|
"ABCDEF" + digits,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
ids=[
|
||||||
|
"short_id_wrong_chars",
|
||||||
|
"long_id_wrong_chars",
|
||||||
|
"right_chars_shorter_than_short_id",
|
||||||
|
"right_chars_shorter_than_long_id_longer_than_short_id",
|
||||||
|
"right_chars_longer_than_long_id",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def invalid_fingerprint(request: Any) -> Generator[str, None, None]:
|
||||||
|
yield random_string(length=request.param[0], chars=request.param[1])
|
||||||
|
Loading…
Reference in New Issue
Block a user