Merge pull request #960 from simple-login/fix-verp

Fix verp: take into account phase
This commit is contained in:
Son Nguyen Kim 2022-05-10 15:04:14 +02:00 committed by GitHub
commit b70170cf0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 1 deletions

View File

@ -1378,7 +1378,7 @@ def generate_verp_email(
# Encoded as a list to minimize size of email address
# Time is in minutes granularity and start counting on 2022-01-01 to reduce bytes to represent time
data = [
verp_type.bounce_forward.value,
verp_type.value,
object_id,
int((time.time() - VERP_TIME_START) / 60),
]

View File

@ -87,6 +87,7 @@ tldextract = "^3.1.2"
flask-debugtoolbar-sqlalchemy = "^0.2.0"
twilio = "^7.3.2"
Deprecated = "^1.2.13"
cryptography = "37.0.1"
[tool.poetry.dev-dependencies]
pytest = "^7.0.0"

View File

@ -754,6 +754,19 @@ def test_generate_verp_email(object_id):
assert info[1] == object_id
def test_generate_verp_email_forward_reply_phase():
"""make sure the verp type is taken into account in verp generation"""
for phase in [
VerpType.bounce_forward,
VerpType.bounce_reply,
VerpType.transactional,
]:
verp = generate_verp_email(phase, 100)
verp_info = get_verp_info_from_email(verp)
assert verp_info[0] == phase
assert verp_info[1] == 100
def test_add_header_multipart_with_invalid_part():
msg = load_eml_file("multipart_alternative.eml")
parts = msg.get_payload() + ["invalid"]