mirror of
https://github.com/simple-login/app.git
synced 2024-11-13 07:31:12 +01:00
35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
|
from aiosmtpd.smtp import Envelope
|
||
|
|
||
|
import email_handler
|
||
|
from app.db import Session
|
||
|
from app.email import headers, status
|
||
|
from app.mail_sender import mail_sender
|
||
|
from app.models import Alias
|
||
|
from tests.utils import create_new_user, load_eml_file, random_email
|
||
|
|
||
|
|
||
|
@mail_sender.store_emails_test_decorator
|
||
|
def test_original_headers_from_preserved():
|
||
|
user = create_new_user()
|
||
|
alias = Alias.create_new_random(user)
|
||
|
Session.flush()
|
||
|
assert user.include_header_email_header
|
||
|
original_sender_address = random_email()
|
||
|
msg = load_eml_file(
|
||
|
"replacement_on_forward_phase.eml",
|
||
|
{"sender_address": original_sender_address, "recipient_address": alias.email},
|
||
|
)
|
||
|
envelope = Envelope()
|
||
|
envelope.mail_from = f"env.{original_sender_address}"
|
||
|
envelope.rcpt_tos = [alias.email]
|
||
|
result = email_handler.MailHandler()._handle(envelope, msg)
|
||
|
assert result == status.E200
|
||
|
send_requests = mail_sender.get_stored_emails()
|
||
|
assert len(send_requests) == 1
|
||
|
request = send_requests[0]
|
||
|
assert request.msg[headers.SL_ENVELOPE_FROM] == envelope.mail_from
|
||
|
assert (
|
||
|
request.msg[headers.AUTHENTICATION_RESULTS]
|
||
|
== msg[headers.AUTHENTICATION_RESULTS]
|
||
|
)
|