Skip to content

Commit a9f0b12

Browse files
author
Lucas McDonald
committed
sync
1 parent 381538b commit a9f0b12

File tree

1 file changed

+42
-44
lines changed

1 file changed

+42
-44
lines changed

DynamoDbEncryption/runtimes/python/test/integ/encrypted/test_client.py

Lines changed: 42 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@
2424
simple_key_dict,
2525
)
2626
from ...requests import (
27-
basic_batch_execute_statement_request_ddb,
28-
basic_batch_execute_statement_request_dict,
2927
basic_batch_get_item_request_ddb,
3028
basic_batch_get_item_request_dict,
3129
basic_batch_write_item_delete_request_ddb,
@@ -34,10 +32,6 @@
3432
basic_batch_write_item_put_request_dict,
3533
basic_delete_item_request_ddb,
3634
basic_delete_item_request_dict,
37-
basic_execute_statement_request_ddb,
38-
basic_execute_statement_request_dict,
39-
basic_execute_transaction_request_ddb,
40-
basic_execute_transaction_request_dict,
4135
basic_get_item_request_ddb,
4236
basic_get_item_request_dict,
4337
basic_put_item_request_ddb,
@@ -54,6 +48,9 @@
5448
basic_transact_write_item_put_request_dict,
5549
basic_update_item_request_ddb,
5650
basic_update_item_request_dict,
51+
basic_execute_statement_request,
52+
basic_execute_transaction_request,
53+
basic_batch_execute_statement_request,
5754
)
5855
from . import sort_dynamodb_json_lists
5956

@@ -386,85 +383,86 @@ def test_GIVEN_valid_transact_write_and_get_requests_WHEN_transact_write_and_get
386383
@pytest.fixture
387384
def update_item_request(expect_standard_dictionaries, test_item):
388385
if expect_standard_dictionaries:
389-
return basic_update_item_request_dict(test_item)
386+
return {**basic_update_item_request_dict(test_item), "TableName": INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME}
390387
return basic_update_item_request_ddb(test_item)
391388

392389

393-
def test_WHEN_update_item_THEN_raises_DynamoDbEncryptionTransformsException():
390+
def test_WHEN_update_item_THEN_raises_DynamoDbEncryptionTransformsException(
391+
client, update_item_request, encrypted,
392+
):
394393
"""Test that update_item raises DynamoDbEncryptionTransformsException."""
394+
if not encrypted:
395+
pytest.skip("Skipping negative test for plaintext client")
396+
395397
# Given: Encrypted client and update item parameters
396398
# Then: DynamoDbEncryptionTransformsException is raised
397399
with pytest.raises(DynamoDbEncryptionTransformsException):
398400
# When: Calling update_item
399-
encrypted_client(expect_standard_dictionaries=False).update_item(
400-
TableName=INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME,
401-
Key={"partition_key": {"S": "test-key"}, "sort_key": {"N": "1"}},
402-
UpdateExpression="SET attribute1 = :val",
403-
ExpressionAttributeValues={":val": {"S": "new value"}},
401+
client.update_item(
402+
**update_item_request
404403
)
405404

406405

407406
@pytest.fixture
408-
def execute_statement_request(expect_standard_dictionaries, test_item):
409-
if expect_standard_dictionaries:
410-
return basic_execute_statement_request_dict(test_item)
411-
return basic_execute_statement_request_ddb(test_item)
407+
def execute_statement_request():
408+
return basic_execute_statement_request()
412409

413410

414-
def test_WHEN_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException():
411+
def test_WHEN_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException(
412+
client, execute_statement_request, encrypted,
413+
):
415414
"""Test that execute_statement raises DynamoDbEncryptionTransformsException."""
415+
if not encrypted:
416+
pytest.skip("Skipping negative test for plaintext client")
417+
416418
# Given: Encrypted client and update item parameters
417419
# Then: DynamoDbEncryptionTransformsException is raised
418420
with pytest.raises(DynamoDbEncryptionTransformsException):
419421
# When: Calling update_item
420-
encrypted_client(expect_standard_dictionaries=False).execute_statement(
421-
Statement="SELECT * FROM " + INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME,
422+
client.execute_statement(
423+
**execute_statement_request
422424
)
423425

424426

425427
@pytest.fixture
426-
def execute_transaction_request(expect_standard_dictionaries, test_item):
427-
if expect_standard_dictionaries:
428-
return basic_execute_transaction_request_dict(test_item)
429-
return basic_execute_transaction_request_ddb(test_item)
428+
def execute_transaction_request():
429+
return basic_execute_transaction_request()
430430

431431

432-
def test_WHEN_execute_transaction_THEN_raises_DynamoDbEncryptionTransformsException():
432+
def test_WHEN_execute_transaction_THEN_raises_DynamoDbEncryptionTransformsException(
433+
client, execute_transaction_request, encrypted,
434+
):
433435
"""Test that execute_transaction raises DynamoDbEncryptionTransformsException."""
436+
if not encrypted:
437+
pytest.skip("Skipping negative test for plaintext client")
438+
434439
# Given: Encrypted client and update item parameters
435440
# Then: DynamoDbEncryptionTransformsException is raised
436441
with pytest.raises(DynamoDbEncryptionTransformsException):
437442
# When: Calling update_item
438-
encrypted_client(expect_standard_dictionaries=False).execute_transaction(
439-
TransactStatements=[
440-
{
441-
"Statement": "SELECT * FROM " + INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME,
442-
"Parameters": [],
443-
}
444-
],
443+
client.execute_transaction(
444+
**execute_transaction_request
445445
)
446446

447447

448448
@pytest.fixture
449-
def batch_execute_statement_request(expect_standard_dictionaries, test_item):
450-
if expect_standard_dictionaries:
451-
return basic_batch_execute_statement_request_dict(test_item)
452-
return basic_batch_execute_statement_request_ddb(test_item)
449+
def batch_execute_statement_request():
450+
return basic_batch_execute_statement_request()
453451

454452

455-
def test_WHEN_batch_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException():
453+
def test_WHEN_batch_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException(
454+
client, batch_execute_statement_request, encrypted,
455+
):
456456
"""Test that batch_execute_statement raises DynamoDbEncryptionTransformsException."""
457+
if not encrypted:
458+
pytest.skip("Skipping negative test for plaintext client")
459+
457460
# Given: Encrypted client and update item parameters
458461
# Then: DynamoDbEncryptionTransformsException is raised
459462
with pytest.raises(DynamoDbEncryptionTransformsException):
460463
# When: Calling update_item
461-
encrypted_client(expect_standard_dictionaries=False).batch_execute_statement(
462-
Statements=[
463-
{
464-
"Statement": "SELECT * FROM " + INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME,
465-
"Parameters": [],
466-
}
467-
],
464+
client.batch_execute_statement(
465+
**batch_execute_statement_request
468466
)
469467

470468

0 commit comments

Comments
 (0)