fix test
This commit is contained in:
@@ -79,17 +79,6 @@ def enroll(
|
||||
entity_sk = f'LINKED_ENTITIES#{parent_entity.type}'
|
||||
keyprefix = parent_entity.type.lower()
|
||||
|
||||
# Child knows the parent
|
||||
transact.put(
|
||||
item={
|
||||
'id': enrollment.id,
|
||||
'sk': f'{entity_sk}#PARENT',
|
||||
'created_at': now_,
|
||||
f'{keyprefix}_id': perent_id,
|
||||
},
|
||||
cond_expr='attribute_not_exists(sk)',
|
||||
)
|
||||
|
||||
# Parent knows the child
|
||||
transact.put(
|
||||
item={
|
||||
@@ -101,6 +90,17 @@ def enroll(
|
||||
cond_expr='attribute_not_exists(sk)',
|
||||
)
|
||||
|
||||
# Child knows the parent
|
||||
transact.put(
|
||||
item={
|
||||
'id': enrollment.id,
|
||||
'sk': f'{entity_sk}#PARENT',
|
||||
'created_at': now_,
|
||||
f'{keyprefix}_id': perent_id,
|
||||
},
|
||||
cond_expr='attribute_not_exists(sk)',
|
||||
)
|
||||
|
||||
if org:
|
||||
transact.put(
|
||||
item={
|
||||
|
||||
@@ -43,7 +43,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
|
||||
# Certificate may have no expiration
|
||||
cert_expires_at = (
|
||||
completed_at + timedelta(days=int(cert['exp_interval']))
|
||||
if 'exp_interval' in cert
|
||||
if cert.get('exp_interval', 0) > 0
|
||||
else None
|
||||
)
|
||||
|
||||
|
||||
@@ -8,10 +8,11 @@ def test_reenroll(
|
||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||
lambda_context: LambdaContext,
|
||||
):
|
||||
parent_id = '294e9864-8284-4287-b153-927b15d90900'
|
||||
event = {
|
||||
'detail': {
|
||||
'new_image': {
|
||||
'id': '294e9864-8284-4287-b153-927b15d90900',
|
||||
'id': parent_id,
|
||||
'sk': '0',
|
||||
'user': {
|
||||
'id': '2beb8642-aab4-4088-86d4-2966fac7c570',
|
||||
@@ -28,21 +29,20 @@ def test_reenroll(
|
||||
}
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
parent_entity = dynamodb_persistence_layer.collection.get_item(
|
||||
KeyPair(
|
||||
pk='294e9864-8284-4287-b153-927b15d90900',
|
||||
sk='LINKED_ENTITIES#ENROLLMENT',
|
||||
)
|
||||
)
|
||||
# Parent knows the child
|
||||
assert parent_entity['kind'] == 'CHILD'
|
||||
|
||||
child_entity = dynamodb_persistence_layer.collection.get_item(
|
||||
KeyPair(
|
||||
pk=parent_entity['enrollment_id'],
|
||||
sk='LINKED_ENTITIES#ENROLLMENT',
|
||||
pk=parent_id,
|
||||
sk='LINKED_ENTITIES#ENROLLMENT#CHILD',
|
||||
)
|
||||
)
|
||||
assert child_entity
|
||||
|
||||
# Child knows the parent
|
||||
assert child_entity['enrollment_id'] == parent_entity['id']
|
||||
assert child_entity['kind'] == 'PARENT'
|
||||
parent_entity = dynamodb_persistence_layer.collection.get_item(
|
||||
KeyPair(
|
||||
pk=child_entity['enrollment_id'],
|
||||
sk='LINKED_ENTITIES#ENROLLMENT#PARENT',
|
||||
)
|
||||
)
|
||||
assert parent_entity['enrollment_id'] == parent_id
|
||||
|
||||
25
enrollments-events/uv.lock
generated
25
enrollments-events/uv.lock
generated
@@ -463,6 +463,18 @@ wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "joserfc"
|
||||
version = "1.3.4"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "cryptography" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/b0/79/d63a882c0212e95f3ba8863a115e5ca9a5d39413b02273ddce72058e717f/joserfc-1.3.4.tar.gz", hash = "sha256:67d8413c501c239f65eefad5ae685cfbfc401aa63289fc409ef7cc331b007227", size = 197787, upload-time = "2025-09-21T15:49:34.7Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/9a/78/beb171f0caac81f51695f43c87c0c20b3ce2a190cf74a3fbb0b9afe03b45/joserfc-1.3.4-py3-none-any.whl", hash = "sha256:30c845c58d441cfe32d08ac35e437812481ca8155373873b7abf80224bf601c0", size = 75638, upload-time = "2025-09-21T15:49:33.14Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jsonlines"
|
||||
version = "4.0.0"
|
||||
@@ -498,6 +510,7 @@ dependencies = [
|
||||
{ name = "dictdiffer" },
|
||||
{ name = "ftfy" },
|
||||
{ name = "glom" },
|
||||
{ name = "joserfc" },
|
||||
{ name = "meilisearch" },
|
||||
{ name = "orjson" },
|
||||
{ name = "passlib" },
|
||||
@@ -505,7 +518,6 @@ dependencies = [
|
||||
{ name = "pycpfcnpj" },
|
||||
{ name = "pydantic", extra = ["email"] },
|
||||
{ name = "pydantic-extra-types" },
|
||||
{ name = "pyjwt" },
|
||||
{ name = "pytz" },
|
||||
{ name = "requests" },
|
||||
{ name = "smart-open", extra = ["s3"] },
|
||||
@@ -521,6 +533,7 @@ requires-dist = [
|
||||
{ name = "dictdiffer", specifier = ">=0.9.0" },
|
||||
{ name = "ftfy", specifier = ">=6.3.1" },
|
||||
{ name = "glom", specifier = ">=24.11.0" },
|
||||
{ name = "joserfc", specifier = ">=1.2.2" },
|
||||
{ name = "meilisearch", specifier = ">=0.34.0" },
|
||||
{ name = "orjson", specifier = ">=3.10.15" },
|
||||
{ name = "passlib", specifier = ">=1.7.4" },
|
||||
@@ -528,7 +541,6 @@ requires-dist = [
|
||||
{ name = "pycpfcnpj", specifier = ">=1.8" },
|
||||
{ name = "pydantic", extras = ["email"], specifier = ">=2.10.6" },
|
||||
{ name = "pydantic-extra-types", specifier = ">=2.10.3" },
|
||||
{ name = "pyjwt", specifier = ">=2.10.1" },
|
||||
{ name = "pytz", specifier = ">=2025.1" },
|
||||
{ name = "requests", specifier = ">=2.32.3" },
|
||||
{ name = "smart-open", extras = ["s3"], specifier = ">=7.1.0" },
|
||||
@@ -774,15 +786,6 @@ wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload-time = "2025-04-18T16:44:46.617Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyjwt"
|
||||
version = "2.10.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785, upload-time = "2024-11-28T03:43:29.933Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pytest"
|
||||
version = "8.3.5"
|
||||
|
||||
Reference in New Issue
Block a user