move seeds dir

This commit is contained in:
2025-04-03 21:08:59 -03:00
parent 34085af4a8
commit 1358088a48
41 changed files with 1950 additions and 108 deletions

View File

27
streams/tests/conftest.py Normal file
View File

@@ -0,0 +1,27 @@
import json
from dataclasses import dataclass
import pytest
def load_jsonfile(path: str) -> dict:
with open(path) as fp:
return json.load(fp)
@dataclass
class LambdaContext:
function_name: str = 'test'
memory_limit_in_mb: int = 128
invoked_function_arn: str = 'arn:aws:lambda:eu-west-1:809313241:function:test'
aws_request_id: str = '52fdfc07-2182-154f-163f-5f0f9a621d72'
@pytest.fixture
def lambda_context() -> LambdaContext:
return LambdaContext()
@pytest.fixture
def dynamodb_stream_event():
return load_jsonfile('tests/samples/dynamodb_stream_event.json')

View File

@@ -0,0 +1,212 @@
{
"Records": [
{
"eventID": "c4ca4238a0b923820dcc509a6f75849b",
"eventName": "INSERT",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-east-1",
"dynamodb": {
"Keys": {
"id": {
"S": "102"
}
},
"NewImage": {
"message": {
"S": "New item!!"
},
"id": {
"S": "102"
},
"cpf": {
"NULL": true
},
"tenant:org_id": {
"SS": ["5OxmMjL-ujoR5IMGegQz"]
}
},
"ApproximateCreationDateTime": 1428537600,
"SequenceNumber": "4421584500000000017450439091",
"SizeBytes": 26,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/example_table_with_stream/stream/2015-06-27T00:48:05.899"
},
{
"eventID": "c4ca4238a0b923820dcc509a6f75849b",
"eventName": "INSERT",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-east-1",
"dynamodb": {
"Keys": {
"id": {
"S": "102"
}
},
"NewImage": {
"message": {
"S": "New item!"
},
"id": {
"S": "101"
},
"cpf": {
"NULL": true
}
},
"ApproximateCreationDateTime": 1428537600,
"SequenceNumber": "4421584500000000017450439091",
"SizeBytes": 26,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/example_table_with_stream/stream/2015-06-27T00:48:05.899"
},
{
"eventID": "c81e728d9d4c2f636f067f89cc14862c",
"eventName": "MODIFY",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-east-1",
"dynamodb": {
"Keys": {
"id": {
"S": "101"
}
},
"NewImage": {
"message": {
"S": "This item has changed"
},
"id": {
"S": "101"
},
"assignee": {
"M": {
"name": {
"S": "Sérgio R Siqueira"
}
}
},
"cpf": {
"S": "07879819908"
}
},
"OldImage": {
"message": {
"S": "New item!"
},
"id": {
"S": "101"
},
"assignee": {
"M": {
"name": {
"S": "Sérgio R Siqueira"
}
}
}
},
"ApproximateCreationDateTime": 1428537600,
"SequenceNumber": "4421584500000000017450439092",
"SizeBytes": 59,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/example_table_with_stream/stream/2015-06-27T00:48:05.899"
},
{
"eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3",
"eventName": "REMOVE",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-east-1",
"dynamodb": {
"Keys": {
"id": {
"S": "101"
}
},
"OldImage": {
"message": {
"S": "This item has changed"
},
"id": {
"S": "101"
},
"ttl": {
"N": "1710532240"
}
},
"ApproximateCreationDateTime": 1428537600,
"SequenceNumber": "4421584500000000017450439093",
"SizeBytes": 38,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/example_table_with_stream/stream/2015-06-27T00:48:05.899"
},
{
"eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3",
"eventName": "REMOVE",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-east-1",
"dynamodb": {
"Keys": {
"id": {
"S": "101"
}
},
"OldImage": {
"message": {
"S": "This item has changed"
},
"id": {
"S": "101"
},
"ttl": {
"N": "2530997445"
}
},
"ApproximateCreationDateTime": 1428537600,
"SequenceNumber": "4421584500000000017450439093",
"SizeBytes": 38,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/example_table_with_stream/stream/2015-06-27T00:48:05.899"
},
{
"eventID": "bbb152116867ab05f3abfcadd4873bee",
"eventName": "REMOVE",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "sa-east-1",
"dynamodb": {
"ApproximateCreationDateTime": 1710529909,
"Keys": {
"sk": {
"S": "5OxmMjL-ujoR5IMGegQz"
},
"id": {
"S": "orgmembers#DwHRXCm5bE64rcu5VA6ai6"
}
},
"OldImage": {
"sk": {
"S": "5OxmMjL-ujoR5IMGegQz"
},
"id": {
"S": "orgmembers#DwHRXCm5bE64rcu5VA6ai6"
},
"createDate": {
"S": "2024-03-15T15:44:30.374640-03:00"
}
},
"SequenceNumber": "3173521300000000009361288070",
"SizeBytes": 156,
"StreamViewType": "NEW_AND_OLD_IMAGES"
},
"eventSourceARN": "arn:aws:dynamodb:sa-east-1:336641857101:table/betaeducacao-prod-users_d2o3r5gmm4it7j/stream/2022-06-12T21:33:25.634"
}
]
}

View File

@@ -0,0 +1,5 @@
import events.index_docs as app
def test_record_handler(monkeypatch, dynamodb_stream_event, lambda_context):
app.lambda_handler(dynamodb_stream_event, lambda_context)