refactor: move to own files

This commit is contained in:
Ruidy 2021-07-05 18:53:02 +02:00
parent 8bbd7faf09
commit 4e4a0bdcc4
4 changed files with 35 additions and 26 deletions

View file

@ -1,20 +1,6 @@
import random
import string
import typer import typer
from .pass_gen import generate_password
def generate_password(seed: int) -> str:
lowercase = string.ascii_lowercase
uppercase = string.ascii_uppercase
digits = string.digits
letters = lowercase + uppercase + digits
random_generator = random.Random(seed)
return "".join(random_generator.sample(letters, 8))
app = typer.Typer() app = typer.Typer()

View file

@ -1,14 +1,10 @@
import pytest from typer.testing import CliRunner
from .main import app
from app.main import generate_password runner = CliRunner()
@pytest.mark.parametrize( def test_cli_print_password() -> None:
("seed", "expected"), result = runner.invoke(app)
[ assert result.exit_code == 0
(0, "2yW4AcqG"), assert "2yW4AcqG" in result.stdout
(1, "iK2ZWeqh"),
],
)
def test_can_generate_random_password(seed: int, expected: str) -> None:
assert generate_password(seed) == expected

14
app/pass_gen.py Normal file
View file

@ -0,0 +1,14 @@
import string
import random
def generate_password(seed: int) -> str:
lowercase = string.ascii_lowercase
uppercase = string.ascii_uppercase
digits = string.digits
letters = lowercase + uppercase + digits
random_generator = random.Random(seed)
return "".join(random_generator.sample(letters, 8))

13
app/pass_gen_test.py Normal file
View file

@ -0,0 +1,13 @@
import pytest
from .pass_gen import generate_password
@pytest.mark.parametrize(
("seed", "expected"),
[
(0, "2yW4AcqG"),
(1, "iK2ZWeqh"),
],
)
def test_can_generate_random_password(seed: int, expected: str) -> None:
assert generate_password(seed) == expected