Files
saladeaula.digital/enrollments-events/tests/events/test_set_as_expired.py

56 lines
1.5 KiB
Python

import app.events.set_as_expired as app
from aws_lambda_powertools.utilities.typing import LambdaContext
from layercake.dynamodb import (
DynamoDBPersistenceLayer,
SortKey,
TransactKey,
)
def test_set_as_expired(
seeds,
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
event = {
'detail': {
'old_image': {
'id': '6437a282-6fe8-4e4d-9eb0-da1007238007',
'sk': '0',
}
}
}
assert app.lambda_handler(event, lambda_context) # type: ignore
r = dynamodb_persistence_layer.collection.get_items(
TransactKey('6437a282-6fe8-4e4d-9eb0-da1007238007')
+ SortKey('0')
+ SortKey('SCHEDULE#SET_AS_EXPIRED#EXECUTED', rename_key='executed')
)
assert r['status'] == 'EXPIRED'
assert 'executed' in r
def test_set_as_expired_failed(
seeds,
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
event = {
'detail': {
'old_image': {
'id': '845fe390-e3c3-4514-97f8-c42de0566cf0',
'sk': '0',
}
}
}
assert not app.lambda_handler(event, lambda_context) # type: ignore
r = dynamodb_persistence_layer.collection.get_items(
TransactKey('845fe390-e3c3-4514-97f8-c42de0566cf0')
+ SortKey('0')
+ SortKey('SCHEDULE#SET_AS_EXPIRED#FAILED', rename_key='failed')
)
assert r['status'] == 'COMPLETED'
assert 'failed' in r