56 lines
1.5 KiB
Python
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
|