File size: 886 Bytes
89419ea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import random
import pytest
from src.services.temp_mail_addressing import choose_domain, generate_local_part
def test_generate_local_part_defaults_to_no_tmp_prefix():
rng = random.Random(123)
name = generate_local_part(enable_prefix=False, rng=rng)
assert name
assert not name.startswith("tmp")
assert name.isalnum()
def test_generate_local_part_keeps_legacy_prefix_when_enabled():
rng = random.Random(123)
name = generate_local_part(enable_prefix=True, rng=rng)
assert name.startswith("tmp")
assert name[3:].isalnum()
def test_choose_domain_uses_available_domains():
rng = random.Random(1)
selected = choose_domain(["a.example.com", "b.example.com"], rng=rng)
assert selected in {"a.example.com", "b.example.com"}
def test_choose_domain_raises_for_empty_pool():
with pytest.raises(ValueError):
choose_domain([])
|