improve report
This commit is contained in:
@@ -1,20 +1,27 @@
|
||||
import app.events.send_reminder_emails as app
|
||||
from aws_lambda_powertools.utilities.typing import LambdaContext
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
||||
|
||||
|
||||
def test_reminder_access_period_before_30_days(
|
||||
seeds,
|
||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||
lambda_context: LambdaContext,
|
||||
):
|
||||
app.send_email = lambda *args, **kwargs: ...
|
||||
|
||||
pk = '47ZxxcVBjvhDS5TE98tpfQ'
|
||||
sk = 'SCHEDULE#REMINDER_ACCESS_PERIOD_BEFORE_30_DAYS'
|
||||
event = {
|
||||
'detail': {
|
||||
'old_image': {
|
||||
'id': '47ZxxcVBjvhDS5TE98tpfQ',
|
||||
'sk': 'SCHEDULE#REMINDER_ACCESS_PERIOD_BEFORE_30_DAYS',
|
||||
'id': pk,
|
||||
'sk': sk,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app.send_email = lambda *args, **kwargs: ...
|
||||
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
r = dynamodb_persistence_layer.collection.get_item(KeyPair(pk, f'{sk}#EXECUTED'))
|
||||
assert r
|
||||
|
||||
@@ -39,9 +39,9 @@ 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 = (cert_expires_at.replace(day=1) - timedelta(days=1)).replace(day=1)
|
||||
report_month = (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')
|
||||
report_month.strftime('%Y-%m')
|
||||
)
|
||||
|
||||
r = dynamodb_persistence_layer.collection.get_items(
|
||||
|
||||
@@ -2,6 +2,7 @@ import app.events.reporting.send_report_email as app
|
||||
from aws_lambda_powertools.utilities.typing import LambdaContext
|
||||
from layercake.dynamodb import (
|
||||
DynamoDBPersistenceLayer,
|
||||
KeyPair,
|
||||
)
|
||||
|
||||
|
||||
@@ -11,10 +12,11 @@ def test_send_report_email(
|
||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||
lambda_context: LambdaContext,
|
||||
):
|
||||
pk = 'CERT#REPORTING#ORG#00237409-9384-4692-9be5-b4443a41e1c4'
|
||||
event = {
|
||||
'detail': {
|
||||
'old_image': {
|
||||
'id': 'CERT#REPORTING#ORG#00237409-9384-4692-9be5-b4443a41e1c4',
|
||||
'id': pk,
|
||||
'sk': 'MONTH#2025-06#SCHEDULE#SEND_REPORT_EMAIL',
|
||||
'target_month': '2025-07',
|
||||
},
|
||||
@@ -23,3 +25,6 @@ def test_send_report_email(
|
||||
monkeypatch.setattr(app.sesv2_client, 'send_email', lambda *args, **kwargs: ...)
|
||||
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
r = dynamodb_persistence_layer.collection.get_item(KeyPair(pk, 'MONTH#2025-06'))
|
||||
assert r['status'] == 'CLOSED'
|
||||
|
||||
@@ -20,14 +20,13 @@ def test_enroll(
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
# Parent knows the child
|
||||
order_entity = dynamodb_persistence_layer.collection.get_item(
|
||||
KeyPair(order_id, 'LINKED_ENTITIES#ORDER#CHILD')
|
||||
r = dynamodb_persistence_layer.collection.query(
|
||||
KeyPair(order_id, 'LINKED_ENTITIES#CHILD')
|
||||
)
|
||||
assert order_entity
|
||||
*_, enrollment_id = r['items'][0]['sk'].split('#')
|
||||
|
||||
# Child knows the parent
|
||||
enrollment_entity = dynamodb_persistence_layer.collection.get_item(
|
||||
KeyPair(order_entity['enrollment_id'], 'LINKED_ENTITIES#ORDER#PARENT'),
|
||||
enrollment = dynamodb_persistence_layer.collection.get_item(
|
||||
KeyPair(enrollment_id, f'LINKED_ENTITIES#PARENT#ORDER#{order_id}'),
|
||||
)
|
||||
|
||||
assert enrollment_entity['order_id'] == order_id
|
||||
assert enrollment
|
||||
|
||||
@@ -8,11 +8,11 @@ def test_reenroll(
|
||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||
lambda_context: LambdaContext,
|
||||
):
|
||||
parent_id = '294e9864-8284-4287-b153-927b15d90900'
|
||||
enrollment_id = '294e9864-8284-4287-b153-927b15d90900'
|
||||
event = {
|
||||
'detail': {
|
||||
'new_image': {
|
||||
'id': parent_id,
|
||||
'id': enrollment_id,
|
||||
'sk': '0',
|
||||
'user': {
|
||||
'id': '2beb8642-aab4-4088-86d4-2966fac7c570',
|
||||
@@ -30,19 +30,19 @@ def test_reenroll(
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
# Parent knows the child
|
||||
current_entity = dynamodb_persistence_layer.collection.get_item(
|
||||
r = dynamodb_persistence_layer.collection.query(
|
||||
KeyPair(
|
||||
pk=parent_id,
|
||||
sk='LINKED_ENTITIES#ENROLLMENT#CHILD',
|
||||
pk=enrollment_id,
|
||||
sk='LINKED_ENTITIES#CHILD',
|
||||
)
|
||||
)
|
||||
assert current_entity
|
||||
*_, child_id = r['items'][0]['sk'].split('#')
|
||||
|
||||
# Child knows the parent
|
||||
new_entity = dynamodb_persistence_layer.collection.get_item(
|
||||
child = dynamodb_persistence_layer.collection.get_item(
|
||||
KeyPair(
|
||||
pk=current_entity['enrollment_id'],
|
||||
sk='LINKED_ENTITIES#ENROLLMENT#PARENT',
|
||||
pk=child_id,
|
||||
sk=f'LINKED_ENTITIES#PARENT#ENROLLMENT#{enrollment_id}',
|
||||
)
|
||||
)
|
||||
assert new_entity['enrollment_id'] == parent_id
|
||||
assert child
|
||||
|
||||
Reference in New Issue
Block a user