finish
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from aws_lambda_powertools.utilities.typing import LambdaContext
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, PartitionKey
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
||||
|
||||
import events.billing.append_enrollment as app
|
||||
|
||||
@@ -14,9 +14,9 @@ def test_append_enrollment(
|
||||
'new_image': {
|
||||
'id': '945e8672-1d72-45c6-b76c-ac06aa8b52ab',
|
||||
'sk': 'METADATA#SUBSCRIPTION_COVERED',
|
||||
'billing_day': 5,
|
||||
'billing_day': 6,
|
||||
'created_at': '2025-07-23T18:09:22.785678-03:00',
|
||||
'org_id': 'edp8njvgQuzNkLx2ySNfAD',
|
||||
'org_id': 'cJtK9SsnJhKPyxESe7g3DG',
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,13 +24,13 @@ def test_append_enrollment(
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
r = dynamodb_persistence_layer.collection.query(
|
||||
PartitionKey('BILLING#ORG#edp8njvgQuzNkLx2ySNfAD')
|
||||
KeyPair('BILLING#ORG#cJtK9SsnJhKPyxESe7g3DG', 'START#2025-06-06#END#2025-07-05')
|
||||
)
|
||||
items = r['items']
|
||||
|
||||
assert items[0]['sk'] == 'START#2025-06-05#END#2025-07-04#SCHEDULE#AUTO_CLOSE'
|
||||
assert items[0]['sk'] == 'START#2025-06-06#END#2025-07-05#SCHEDULE#AUTO_CLOSE'
|
||||
assert (
|
||||
items[1]['sk']
|
||||
== 'START#2025-06-05#END#2025-07-04#ENROLLMENT#945e8672-1d72-45c6-b76c-ac06aa8b52ab'
|
||||
== 'START#2025-06-06#END#2025-07-05#ENROLLMENT#945e8672-1d72-45c6-b76c-ac06aa8b52ab'
|
||||
)
|
||||
assert items[2]['sk'] == 'START#2025-06-05#END#2025-07-04'
|
||||
assert items[2]['sk'] == 'START#2025-06-06#END#2025-07-05'
|
||||
|
||||
@@ -15,26 +15,24 @@ def test_close_window(
|
||||
):
|
||||
event = {
|
||||
'detail': {
|
||||
'new_image': {
|
||||
'id': 'BILLING#ORG#BES6dmWgTMXRYmfDyYYXUF',
|
||||
'keys': {
|
||||
'id': 'BILLING#ORG#cJtK9SsnJhKPyxESe7g3DG',
|
||||
'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,
|
||||
# )
|
||||
r = dynamodb_persistence_layer.collection.get_items(
|
||||
TransactKey('BILLING#ORG#cJtK9SsnJhKPyxESe7g3DG')
|
||||
+ 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
|
||||
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
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
from aws_lambda_powertools.utilities.typing import LambdaContext
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer
|
||||
|
||||
import events.billing.send_email_on_closing as app
|
||||
|
||||
|
||||
def test_send_email_on_closing(
|
||||
monkeypatch,
|
||||
dynamodb_seeds,
|
||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||
lambda_context: LambdaContext,
|
||||
):
|
||||
event = {
|
||||
'detail': {
|
||||
'new_image': {
|
||||
'id': 'BILLING#ORG#cJtK9SsnJhKPyxESe7g3DG',
|
||||
'sk': 'START#2025-07-01#END#2025-07-31',
|
||||
'status': 'CLOSED',
|
||||
's3_uri': 's3://saladeaula.digital/billing/sample.pdf',
|
||||
},
|
||||
}
|
||||
}
|
||||
monkeypatch.setattr(app.sesv2_client, 'send_email', lambda *args, **kwargs: ...)
|
||||
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
Reference in New Issue
Block a user