add docseal

This commit is contained in:
2025-11-03 18:10:17 -03:00
parent d6c26df63b
commit eca3ac42dc
11 changed files with 205 additions and 8 deletions

View File

@@ -14,6 +14,7 @@ def pytest_configure():
os.environ['TZ'] = 'America/Sao_Paulo'
os.environ['DYNAMODB_PARTITION_KEY'] = PK
os.environ['DYNAMODB_SORT_KEY'] = SK
os.environ['DOCSEAL_KEY'] = 'gUWhWtYBgTaP8fc1q5GZ6JuUHaZzMgZna6KFBHz3Gzk'
os.environ['USER_TABLE'] = PYTEST_TABLE_NAME
os.environ['COURSE_TABLE'] = PYTEST_TABLE_NAME
os.environ['ORDER_TABLE'] = PYTEST_TABLE_NAME

View File

@@ -0,0 +1,24 @@
from aws_lambda_powertools.utilities.typing import LambdaContext
import events.ask_to_sign as app
def test_ask_to_sign(
lambda_context: LambdaContext,
):
event = {
'detail': {
'new_image': {
'id': 'e249c51b-3e68-42eb-bb4b-20659263ce1c',
'cert': {
's3_uri': 's3://saladeaula.digital/certs/samples/nr11-operador-de-munck.pdf'
},
'user': {
'name': 'Sérgio R Siqueira',
'email': 'sergio@somosbeta.com.br',
},
}
}
}
assert app.lambda_handler(event, lambda_context) # type: ignore

Binary file not shown.

View File

@@ -0,0 +1,36 @@
import base64
import uuid
from unittest.mock import MagicMock, patch
from docseal import create_submission_from_pdf
SUBJECT = '{first_name}, assine seu certificado agora!'
MESSAGE = """
{first_name},
Seu certificado já está pronto e aguardando apenas a sua assinatura digital.
[👉 Assinar agora.]({{submitter.link}})
"""
def test_create_submission_from_pdf():
r = MagicMock()
with patch('docseal.requests.post', r):
with open('tests/sample.pdf', 'rb') as f:
file = base64.b64encode(f.read())
create_submission_from_pdf(
str(uuid.uuid4()),
file=file.decode('utf-8'),
email_message={
'subject': SUBJECT.format(first_name='Tiago'),
'body': MESSAGE.format(first_name='Tiago'),
},
submitters=[
{
'role': 'Aluno',
'name': 'Sérgio R Siqueira',
'email': 'sergio@somosbeta.com.br',
},
],
)