41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from aws_lambda_powertools.utilities.typing import LambdaContext
|
|
from layercake.dynamodb import (
|
|
DynamoDBPersistenceLayer,
|
|
SortKey,
|
|
TransactKey,
|
|
)
|
|
|
|
import events.billing.close_window as app
|
|
|
|
|
|
def test_close_window(
|
|
dynamodb_seeds,
|
|
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
|
lambda_context: LambdaContext,
|
|
):
|
|
event = {
|
|
'detail': {
|
|
'new_image': {
|
|
'id': 'BILLING#ORG#BES6dmWgTMXRYmfDyYYXUF',
|
|
'sk': 'START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE',
|
|
'created_at': '2025-07-24T15:20:52.464244-03:00',
|
|
'ttl': 1754017200,
|
|
}
|
|
}
|
|
}
|
|
|
|
assert app.lambda_handler(event, lambda_context) # type: ignore
|
|
|
|
# r = dynamodb_persistence_layer.collection.get_items(
|
|
# TransactKey('BILLING#ORG#BES6dmWgTMXRYmfDyYYXUF')
|
|
# + SortKey('START#2025-07-01#END#2025-07-31')
|
|
# + SortKey('START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE#EXECUTED'),
|
|
# flatten_top=False,
|
|
# )
|
|
|
|
# assert 's3_uri' in r['START#2025-07-01#END#2025-07-31']
|
|
# assert 'created_at' in r['START#2025-07-01#END#2025-07-31']
|
|
# assert 'updated_at' in r['START#2025-07-01#END#2025-07-31']
|
|
# assert r['START#2025-07-01#END#2025-07-31']['status'] == 'CLOSED'
|
|
# assert 'START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE#EXECUTED' in r
|