add cert_expires_at

This commit is contained in:
2025-10-15 15:10:47 -03:00
parent 54c92b3996
commit ffa04d9b15
37 changed files with 371 additions and 230 deletions

View File

@@ -15,7 +15,7 @@ def test_append_cert(
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
expires_at = now() + timedelta(days=360)
cert_expires_at = now() + timedelta(days=360)
event = {
'detail': {
'new_image': {
@@ -25,9 +25,7 @@ def test_append_cert(
'id': '431',
'name': 'How to Sing Better',
},
'cert': {
'expires_at': expires_at.isoformat(),
},
'cert_expires_at': cert_expires_at.isoformat(),
'user': {
'id': '1234',
'name': 'Tobias Summit',
@@ -41,7 +39,7 @@ def test_append_cert(
assert app.lambda_handler(event, lambda_context) # type: ignore
# The reporting month is the month before the certificate expires
month_start = (expires_at.replace(day=1) - timedelta(days=1)).replace(day=1)
month_start = (cert_expires_at.replace(day=1) - timedelta(days=1)).replace(day=1)
report_sk = 'MONTH#{}#SCHEDULE#SEND_REPORT_EMAIL'.format(
month_start.strftime('%Y-%m')
)
@@ -54,7 +52,7 @@ def test_append_cert(
)
+ SortKey(
sk='MONTH#{}#ENROLLMENT#e45019d8-be7a-4a82-9b37-12a01f0127bb'.format(
expires_at.strftime('%Y-%m')
cert_expires_at.strftime('%Y-%m')
),
rename_key='enrollment',
),

View File

@@ -36,3 +36,43 @@ def test_issue_cert(
)
assert 'cert' in r
assert 'cert_expires_at' in r
assert (
r['cert']['s3_uri']
== 's3://saladeaula.digital/certs/1ee108ae-67d4-4545-bf6d-4e641cdaa4e0.pdf'
)
def test_non_exp_interval(
seeds,
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
enrollment_id = '1ee108ae-67d4-4545-bf6d-4e641cdaa4e0'
event = {
'detail': {
'new_image': {
'id': enrollment_id,
'completed_at': '2025-09-21T14:20:36.276467-03:00',
'started_at': '2025-09-19T14:34:54.704548-03:00',
'user': {
'name': 'Josh Kiszka',
'cpf': '74630003037',
},
'course': {
'id': '12334',
'name': 'pytest',
},
'score': 79,
'status': 'COMPLETED',
}
}
}
assert app.lambda_handler(event, lambda_context) # type: ignore
r = dynamodb_persistence_layer.get_item(
key=KeyPair('1ee108ae-67d4-4545-bf6d-4e641cdaa4e0', '0')
)
assert 'cert' in r
assert 'cert_expires_at' not in r