Public Access
DEVX-129: test: cover crypto.py line 37 (retry on leading dash)
This commit was merged in pull request #197.
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
from devx.utils.crypto import (
|
from devx.utils.crypto import (
|
||||||
_DIGITS,
|
_DIGITS,
|
||||||
@@ -35,6 +36,13 @@ class TestGenerateSecret:
|
|||||||
assert "+" not in secret
|
assert "+" not in secret
|
||||||
assert "/" not in secret
|
assert "/" not in secret
|
||||||
|
|
||||||
|
def test_retries_on_leading_dash(self) -> None:
|
||||||
|
"""When token_urlsafe returns a value starting with '-', it retries."""
|
||||||
|
# First call returns a dash-prefixed value, second returns a clean one
|
||||||
|
with patch("devx.utils.crypto.secrets.token_urlsafe", side_effect=["-bad-value", "good-value"]):
|
||||||
|
secret = generate_secret()
|
||||||
|
assert secret == "good-value"
|
||||||
|
|
||||||
|
|
||||||
class TestGeneratePassword:
|
class TestGeneratePassword:
|
||||||
def test_default_length(self) -> None:
|
def test_default_length(self) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user