add layercake

This commit is contained in:
2025-03-20 17:46:25 -03:00
parent bc8b9805e3
commit a41f90f3a9
15 changed files with 1497 additions and 0 deletions

View File

View File

@@ -0,0 +1,7 @@
import boto3
import pytest
@pytest.fixture()
def dynamodb_client():
return boto3.client('dynamodb', endpoint_url='http://127.0.0.1:8000')

View File

@@ -0,0 +1,37 @@
import pytest
from botocore.exceptions import ClientError
from layercake.dynamodb import DynamoDBPersistenceLayer, TransactItems
def test_transact_write_items(dynamodb_client):
user_layer = DynamoDBPersistenceLayer('pytest', dynamodb_client)
transact = TransactItems(user_layer.table_name)
transact.put(
item={
'id': '5OxmMjL-ujoR5IMGegQz',
'sk': '0',
}
)
transact.put(
item={
'id': 'cpf',
'sk': '07879819908',
}
)
transact.put(
item={
'id': 'email',
'sk': 'sergio@somosbeta.com.br',
},
cond_expr='attribute_not_exists(sk)',
)
transact.put(
item={
'id': '5OxmMjL-ujoR5IMGegQz',
'sk': 'email:sergio@somosbeta.com.br',
},
cond_expr='attribute_not_exists(sk)',
)
with pytest.raises(ClientError):
user_layer.transact_write_items(transact)