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)