mirror of
https://github.com/rjNemo/pass-gen
synced 2026-06-06 02:26:42 +00:00
feat: can control passsword length
This commit is contained in:
parent
4e4a0bdcc4
commit
debe9c4565
3 changed files with 14 additions and 3 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## Stories
|
||||
|
||||
- [ ] As a user I want to generate a random secure password to protect my personal accounts
|
||||
- [x] As a user I want to generate a random secure password to protect my personal accounts
|
||||
- [ ] Minimal length
|
||||
- [ ] Include symbols
|
||||
- [ ] Include numbers
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import string
|
|||
import random
|
||||
|
||||
|
||||
def generate_password(seed: int) -> str:
|
||||
def generate_password(seed: int, length: int = 8) -> str:
|
||||
lowercase = string.ascii_lowercase
|
||||
uppercase = string.ascii_uppercase
|
||||
digits = string.digits
|
||||
|
|
@ -11,4 +11,4 @@ def generate_password(seed: int) -> str:
|
|||
|
||||
random_generator = random.Random(seed)
|
||||
|
||||
return "".join(random_generator.sample(letters, 8))
|
||||
return "".join(random_generator.sample(letters, length))
|
||||
|
|
|
|||
|
|
@ -11,3 +11,14 @@ from .pass_gen import generate_password
|
|||
)
|
||||
def test_can_generate_random_password(seed: int, expected: str) -> None:
|
||||
assert generate_password(seed) == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("seed", "length", "expected"),
|
||||
[
|
||||
(0, 6, "2yW4Ac"),
|
||||
(1, 10, "iK2ZWeqhF5"),
|
||||
],
|
||||
)
|
||||
def test_control_password_length(seed: int, length: int, expected: str) -> None:
|
||||
assert generate_password(seed, length) == expected
|
||||
|
|
|
|||
Loading…
Reference in a new issue