fix test
This commit is contained in:
@@ -79,17 +79,6 @@ def enroll(
|
|||||||
entity_sk = f'LINKED_ENTITIES#{parent_entity.type}'
|
entity_sk = f'LINKED_ENTITIES#{parent_entity.type}'
|
||||||
keyprefix = parent_entity.type.lower()
|
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
|
# Parent knows the child
|
||||||
transact.put(
|
transact.put(
|
||||||
item={
|
item={
|
||||||
@@ -101,6 +90,17 @@ def enroll(
|
|||||||
cond_expr='attribute_not_exists(sk)',
|
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:
|
if org:
|
||||||
transact.put(
|
transact.put(
|
||||||
item={
|
item={
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
|
|||||||
# Certificate may have no expiration
|
# Certificate may have no expiration
|
||||||
cert_expires_at = (
|
cert_expires_at = (
|
||||||
completed_at + timedelta(days=int(cert['exp_interval']))
|
completed_at + timedelta(days=int(cert['exp_interval']))
|
||||||
if 'exp_interval' in cert
|
if cert.get('exp_interval', 0) > 0
|
||||||
else None
|
else None
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ def test_reenroll(
|
|||||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||||
lambda_context: LambdaContext,
|
lambda_context: LambdaContext,
|
||||||
):
|
):
|
||||||
|
parent_id = '294e9864-8284-4287-b153-927b15d90900'
|
||||||
event = {
|
event = {
|
||||||
'detail': {
|
'detail': {
|
||||||
'new_image': {
|
'new_image': {
|
||||||
'id': '294e9864-8284-4287-b153-927b15d90900',
|
'id': parent_id,
|
||||||
'sk': '0',
|
'sk': '0',
|
||||||
'user': {
|
'user': {
|
||||||
'id': '2beb8642-aab4-4088-86d4-2966fac7c570',
|
'id': '2beb8642-aab4-4088-86d4-2966fac7c570',
|
||||||
@@ -28,21 +29,20 @@ def test_reenroll(
|
|||||||
}
|
}
|
||||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
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
|
# Parent knows the child
|
||||||
assert parent_entity['kind'] == 'CHILD'
|
|
||||||
|
|
||||||
child_entity = dynamodb_persistence_layer.collection.get_item(
|
child_entity = dynamodb_persistence_layer.collection.get_item(
|
||||||
KeyPair(
|
KeyPair(
|
||||||
pk=parent_entity['enrollment_id'],
|
pk=parent_id,
|
||||||
sk='LINKED_ENTITIES#ENROLLMENT',
|
sk='LINKED_ENTITIES#ENROLLMENT#CHILD',
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
assert child_entity
|
||||||
|
|
||||||
# Child knows the parent
|
# Child knows the parent
|
||||||
assert child_entity['enrollment_id'] == parent_entity['id']
|
parent_entity = dynamodb_persistence_layer.collection.get_item(
|
||||||
assert child_entity['kind'] == 'PARENT'
|
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" },
|
{ 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]]
|
[[package]]
|
||||||
name = "jsonlines"
|
name = "jsonlines"
|
||||||
version = "4.0.0"
|
version = "4.0.0"
|
||||||
@@ -498,6 +510,7 @@ dependencies = [
|
|||||||
{ name = "dictdiffer" },
|
{ name = "dictdiffer" },
|
||||||
{ name = "ftfy" },
|
{ name = "ftfy" },
|
||||||
{ name = "glom" },
|
{ name = "glom" },
|
||||||
|
{ name = "joserfc" },
|
||||||
{ name = "meilisearch" },
|
{ name = "meilisearch" },
|
||||||
{ name = "orjson" },
|
{ name = "orjson" },
|
||||||
{ name = "passlib" },
|
{ name = "passlib" },
|
||||||
@@ -505,7 +518,6 @@ dependencies = [
|
|||||||
{ name = "pycpfcnpj" },
|
{ name = "pycpfcnpj" },
|
||||||
{ name = "pydantic", extra = ["email"] },
|
{ name = "pydantic", extra = ["email"] },
|
||||||
{ name = "pydantic-extra-types" },
|
{ name = "pydantic-extra-types" },
|
||||||
{ name = "pyjwt" },
|
|
||||||
{ name = "pytz" },
|
{ name = "pytz" },
|
||||||
{ name = "requests" },
|
{ name = "requests" },
|
||||||
{ name = "smart-open", extra = ["s3"] },
|
{ name = "smart-open", extra = ["s3"] },
|
||||||
@@ -521,6 +533,7 @@ requires-dist = [
|
|||||||
{ name = "dictdiffer", specifier = ">=0.9.0" },
|
{ name = "dictdiffer", specifier = ">=0.9.0" },
|
||||||
{ name = "ftfy", specifier = ">=6.3.1" },
|
{ name = "ftfy", specifier = ">=6.3.1" },
|
||||||
{ name = "glom", specifier = ">=24.11.0" },
|
{ name = "glom", specifier = ">=24.11.0" },
|
||||||
|
{ name = "joserfc", specifier = ">=1.2.2" },
|
||||||
{ name = "meilisearch", specifier = ">=0.34.0" },
|
{ name = "meilisearch", specifier = ">=0.34.0" },
|
||||||
{ name = "orjson", specifier = ">=3.10.15" },
|
{ name = "orjson", specifier = ">=3.10.15" },
|
||||||
{ name = "passlib", specifier = ">=1.7.4" },
|
{ name = "passlib", specifier = ">=1.7.4" },
|
||||||
@@ -528,7 +541,6 @@ requires-dist = [
|
|||||||
{ name = "pycpfcnpj", specifier = ">=1.8" },
|
{ name = "pycpfcnpj", specifier = ">=1.8" },
|
||||||
{ name = "pydantic", extras = ["email"], specifier = ">=2.10.6" },
|
{ name = "pydantic", extras = ["email"], specifier = ">=2.10.6" },
|
||||||
{ name = "pydantic-extra-types", specifier = ">=2.10.3" },
|
{ name = "pydantic-extra-types", specifier = ">=2.10.3" },
|
||||||
{ name = "pyjwt", specifier = ">=2.10.1" },
|
|
||||||
{ name = "pytz", specifier = ">=2025.1" },
|
{ name = "pytz", specifier = ">=2025.1" },
|
||||||
{ name = "requests", specifier = ">=2.32.3" },
|
{ name = "requests", specifier = ">=2.32.3" },
|
||||||
{ name = "smart-open", extras = ["s3"], specifier = ">=7.1.0" },
|
{ 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" },
|
{ 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]]
|
[[package]]
|
||||||
name = "pytest"
|
name = "pytest"
|
||||||
version = "8.3.5"
|
version = "8.3.5"
|
||||||
|
|||||||
Reference in New Issue
Block a user