58
58
)
59
59
from aws_lambda_powertools .utilities .data_classes .dynamo_db_stream_event import (
60
60
AttributeValue ,
61
+ AttributeValueType ,
61
62
DynamoDBRecordEventName ,
62
63
DynamoDBStreamEvent ,
63
64
StreamViewType ,
@@ -443,13 +444,38 @@ def test_dynamo_db_stream_trigger_event():
443
444
assert record .user_identity is None
444
445
445
446
447
+ def test_dynamo_attribute_value_b_value ():
448
+ example_attribute_value = {"B" : "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" }
449
+
450
+ attribute_value = AttributeValue (example_attribute_value )
451
+
452
+ assert attribute_value .get_type == AttributeValueType .Binary
453
+
454
+
455
+ def test_dynamo_attribute_value_bs_value ():
456
+ example_attribute_value = {"BS" : ["U3Vubnk=" , "UmFpbnk=" , "U25vd3k=" ]}
457
+
458
+ attribute_value = AttributeValue (example_attribute_value )
459
+
460
+ assert attribute_value .get_type == AttributeValueType .BinarySet
461
+
462
+
463
+ def test_dynamo_attribute_value_bool_value ():
464
+ example_attribute_value = {"BOOL" : True }
465
+
466
+ attribute_value = AttributeValue (example_attribute_value )
467
+
468
+ assert attribute_value .get_type == AttributeValueType .Boolean
469
+
470
+
446
471
def test_dynamo_attribute_value_list_value ():
447
472
example_attribute_value = {"L" : [{"S" : "Cookies" }, {"S" : "Coffee" }, {"N" : "3.14159" }]}
448
473
attribute_value = AttributeValue (example_attribute_value )
449
474
list_value = attribute_value .list_value
450
475
assert list_value is not None
451
476
item = list_value [0 ]
452
477
assert item .s_value == "Cookies"
478
+ assert attribute_value .get_type == AttributeValueType .List
453
479
454
480
455
481
def test_dynamo_attribute_value_map_value ():
@@ -461,6 +487,47 @@ def test_dynamo_attribute_value_map_value():
461
487
assert map_value is not None
462
488
item = map_value ["Name" ]
463
489
assert item .s_value == "Joe"
490
+ assert attribute_value .get_type == AttributeValueType .Map
491
+
492
+
493
+ def test_dynamo_attribute_value_n_value ():
494
+ example_attribute_value = {"N" : "123.45" }
495
+
496
+ attribute_value = AttributeValue (example_attribute_value )
497
+
498
+ assert attribute_value .get_type == AttributeValueType .Number
499
+
500
+
501
+ def test_dynamo_attribute_value_ns_value ():
502
+ example_attribute_value = {"NS" : ["42.2" , "-19" , "7.5" , "3.14" ]}
503
+
504
+ attribute_value = AttributeValue (example_attribute_value )
505
+
506
+ assert attribute_value .get_type == AttributeValueType .NumberSet
507
+
508
+
509
+ def test_dynamo_attribute_value_null_value ():
510
+ example_attribute_value = {"NULL" : True }
511
+
512
+ attribute_value = AttributeValue (example_attribute_value )
513
+
514
+ assert attribute_value .get_type == AttributeValueType .Null
515
+
516
+
517
+ def test_dynamo_attribute_value_s_value ():
518
+ example_attribute_value = {"S" : "Hello" }
519
+
520
+ attribute_value = AttributeValue (example_attribute_value )
521
+
522
+ assert attribute_value .get_type == AttributeValueType .String
523
+
524
+
525
+ def test_dynamo_attribute_value_ss_value ():
526
+ example_attribute_value = {"SS" : ["Giraffe" , "Hippo" , "Zebra" ]}
527
+
528
+ attribute_value = AttributeValue (example_attribute_value )
529
+
530
+ assert attribute_value .get_type == AttributeValueType .StringSet
464
531
465
532
466
533
def test_event_bridge_event ():
0 commit comments