add datetable cnfcnpj

This commit is contained in:
2025-11-24 11:45:53 -03:00
parent 5b1ba9e9c7
commit 78ad183e61
29 changed files with 828 additions and 255 deletions

View File

@@ -0,0 +1,47 @@
import pprint
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
import events.batch.chunks_into_users as app
def test_chunk_csv(
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context,
):
pk = 'BATCH_JOB#ORG#1411844c-10d6-456e-959d-e91775145461'
file_sk = 'FILE#2025-11-13T16:04:53.024743'
event = {
'detail': {
'new_image': {
'id': pk,
'sk': 'CHUNK#START#0#END#4885',
'weight': 100,
'created_at': '2025-11-20T19:00:41.896001-03:00',
'file_sk': file_sk,
's3_uri': 's3://saladeaula.digital/samples/users.csv',
'columns': {
'1:name',
'2:email',
'3:cpf',
},
'org': {
'id': '1411844c-10d6-456e-959d-e91775145461',
'name': 'EDUSEG',
'cnpj': '15608435000190',
},
},
},
}
assert app.lambda_handler(event, lambda_context) # type: ignore
r = dynamodb_persistence_layer.collection.query(
KeyPair(
pk=pk,
sk=f'REPORTING#{file_sk}',
),
limit=100,
)
pprint.pp(r['items'])
assert 26 == len(r['items'])

View File

@@ -1,13 +1,37 @@
from layercake.dateutils import now
from layercake.dynamodb import DynamoDBPersistenceLayer, PartitionKey
import events.batch.csv_into_chunks as app
def test_chunk_csv(lambda_context):
def test_chunk_csv(
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context,
):
pk = 'BATCH_JOB#ORG#1411844c-10d6-456e-959d-e91775145461'
sk = 'FILE#2025-11-13T16:04:53.024743'
event = {
'detail': {
'new_image': {
'id': pk,
'sk': sk,
's3_uri': 's3://saladeaula.digital/samples/large_users.csv',
'columns': {
'1:email',
'2:cpf',
'3:name',
},
'org': {
'id': '1411844c-10d6-456e-959d-e91775145461',
'name': 'EDUSEG',
'cnpj': '15608435000190',
},
'created_at': now(),
},
},
}
app.lambda_handler(event, lambda_context) # type: ignore
r = dynamodb_persistence_layer.collection.query(PartitionKey(pk), limit=100)
assert len(r['items']) == 67

View File

@@ -0,0 +1,13 @@
import events.batch.excel_to_csv as app
def test_excel_to_csv(lambda_context):
event = {
'detail': {
'new_image': {
's3_uri': 's3://saladeaula.digital/samples/large_users.csv',
},
},
}
assert app.lambda_handler(event, lambda_context) # type: ignore