mirror of
https://github.com/simple-login/app.git
synced 2024-11-10 21:27:10 +01:00
34 lines
1.0 KiB
Python
34 lines
1.0 KiB
Python
|
from aiosmtpd.smtp import Envelope
|
||
|
|
||
|
import email_handler
|
||
|
from app.config import get_abs_path
|
||
|
from app.db import Session
|
||
|
from app.pgp_utils import load_public_key
|
||
|
from tests.utils import create_new_user, load_eml_file, random_email
|
||
|
|
||
|
from app.models import Alias
|
||
|
|
||
|
|
||
|
def test_encrypt_with_pgp():
|
||
|
user = create_new_user()
|
||
|
pgp_public_key = open(get_abs_path("local_data/public-pgp.asc")).read()
|
||
|
mailbox = user.default_mailbox
|
||
|
mailbox.pgp_public_key = pgp_public_key
|
||
|
mailbox.generic_subject = True
|
||
|
mailbox.pgp_finger_print = load_public_key(pgp_public_key)
|
||
|
alias = Alias.create_new_random(user)
|
||
|
Session.flush()
|
||
|
sender_address = random_email()
|
||
|
msg = load_eml_file(
|
||
|
"email_to_pgp_encrypt.eml",
|
||
|
{
|
||
|
"sender_address": sender_address,
|
||
|
"recipient_address": alias.email,
|
||
|
},
|
||
|
)
|
||
|
envelope = Envelope()
|
||
|
envelope.mail_from = sender_address
|
||
|
envelope.rcpt_tos = [alias.email]
|
||
|
result = email_handler.MailHandler()._handle(envelope, msg)
|
||
|
assert result is not None
|