Commit Graph

37 Commits

Author SHA1 Message Date
pvbouwel
e6b51a28ee Enable AST Validation
This commit puts AST validation on the execution path. This means updates get
validated prior to being executed. There were quite a few tests that were not
working against Amazon DDB. These tests I considered broken and as such this
commit adapts them such that they pass against Amazon DDB.

test_update_item_on_map()
=> One of the SET actions would try to set a nested element by specifying the nesting on the path
   rather than by putting a map as a value for a non-existent key. This got changed.

test_item_size_is_under_400KB
=> Used the keyword "item" which DDB doesn't like. Change to cont in order to keep the same sizings.
=> Secondly the size error messages differs a bit depending whether it is part of the update or part
   of a put_item. For an update it should be:
   Item size to update has exceeded the maximum allowed size
   otherwise it is
   Item size has exceeded the maximum allowed size'

test_remove_top_level_attribute
=> Used a keyword item.  Use ExpressionAttributeNames

test_update_item_double_nested_remove
=> Used keywords name & first. Migrated to non-deprecated API and use ExpressionAttributeNames

test_update_item_set &
test_boto3_update_item_conditions_pass &
test_boto3_update_item_conditions_pass_because_expect_not_exists &
test_boto3_update_item_conditions_pass_because_expect_not_exists_by_compare_to_null &
test_boto3_update_item_conditions_pass_because_expect_exists_by_compare_to_not_null &
test_boto3_update_item_conditions_fail &
test_boto3_update_item_conditions_fail_because_expect_not_exists &
test_boto3_update_item_conditions_fail_because_expect_not_exists_by_compare_to_null
=> Were broken tests which had string literal instead of value placeholder
2020-04-19 16:58:46 +01:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
Ber Zoidberg
6717cba286 test name fix 2019-06-12 08:12:15 -07:00
Ber Zoidberg
997556f7bb improve test coverage 2019-06-12 08:06:37 -07:00
Ber Zoidberg
26ae13b715 Fix copypasta error in comment 2019-06-11 22:41:56 -07:00
Ber Zoidberg
96c2506fd4 Fix DynamoDB UpdateExpression support for REMOVE on nested maps 2019-06-11 22:38:15 -07:00
cm-iwata
9bf8fd3417 fix #2011 (#2012)
add support for Scan method using LSI or GSI
2019-05-21 17:45:30 +01:00
Gary Donovan
0b15bb13b6 Make EQ conditions work reliably in DynamoDB.
The AWS API represents a set object as a list of values. Internally
moto also represents a set as a list. This means that when we do value
comparisons, the order of the values can cause a set equality test to
fail.
2019-01-10 21:39:12 +11:00
Gary Donovan
802402bdba Tweak comparison to treat NULL/NOT_NULL correctly. (#1709)
The AWS documentation says that a ComparisonOperator of NULL means
the attribute should not exist, whereas NOT_NULL means that the
attribute should exist. It explicitly says that an attribute with a
value of NULL is considered to exist, which contradicts our previous
implementation. This affects both put_item and get_item in dynamodb2.

https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html
2018-07-13 10:11:10 +01:00
Terry Cain
5c02085d3a Fixed testcases after nonglobaling dynamo 2017-10-29 16:25:17 +00:00
Greg Sterin
be07fbda52 Support Expected in dynamoDB updateItem 2017-06-09 17:34:29 -07:00
Steve Pulec
15b811901b Merge pull request #925 from JackDanger/idempotent-dynamodb2-deletes
Idempotent Dynamodb2 deletes
2017-05-10 22:07:12 -04:00
Steve Pulec
0adebeed24 Merge #913. 2017-05-10 21:58:42 -04:00
Jack Danger Canty
8e3d46fb05 Deleting from an unknown table raises error
If the table exists then we deletes are idempotent
2017-05-08 17:25:59 -10:00
Steve Pulec
f37bad0e00 Lints. 2017-02-23 21:37:43 -05:00
Steve Pulec
fde721bed7 Testing new version of decorator. 2017-02-15 22:35:45 -05:00
Georges Chaudy
6b74487b31 fix: dynamodb2 conditions 2016-09-23 16:14:17 +01:00
Victor Blaga
cb36a8b10f Fix dynamodb_v2 update_item tests
Update expression has the wrong syntax. Something like :bar denotes a
placeholder which has to be filled by supplying an additional
ExpressionAttributeNames
2016-06-21 17:46:37 +02:00
Steve Pulec
6803444d61 Fix Dynamodb table key name. Closes #524. 2016-05-05 22:14:23 -04:00
Brian Cavagnolo
6bab725b36 add dynamodb pagination 2016-03-01 15:00:23 -08:00
Steve Pulec
9596772546 Merge pull request #510 from pcraciunoiu/feature/dynamodb-add-value
Add value and UPDATE fixes
2016-01-17 15:40:07 -05:00
Paul Craciunoiu
4e9f4bfbbf Fix for ReturnValues. 2016-01-15 11:53:45 -07:00
Ian Auld
dd6cc305cd Updated more tests. 2016-01-14 14:51:47 -08:00
Steve Pulec
8d41d0019b Add basic support for AttributeUpdates in Dynamo update_item. Closes #449. 2015-11-07 16:45:24 -05:00
Steve Pulec
e4408152d1 Add KeyConditionExpression to dynamo. 2015-08-01 19:32:33 -04:00
Steve Pulec
c9db7765df Fix dynamo item not found. 2015-07-13 10:33:36 -04:00
Alan Jaffe
898d200110 Add tests for ConditionalCheckFailedException 2015-07-08 11:55:12 -04:00
Steve Pulec
82f19952dd Add Dynamodb2 global indexes. Closes #329. 2015-03-14 15:02:43 -04:00
Steve Pulec
e66916d5f1 Start to add basic support for dynamodb2 item updating. Closes #16. 2014-11-29 22:03:29 -05:00
Steve Pulec
06a635aeaa Remove dynamodb Py3 boto restrictions since we only test newer boto now. 2014-11-27 08:03:47 -05:00
David Baumgold
eedb4c4b73 Support Python 3 using six 2014-08-28 10:57:43 -04:00
David Baumgold
4201e6b430 from __future__ import unicode_literals 2014-08-27 11:33:55 -04:00
Steve Pulec
63799f3af8 Restrict tests to new version since we have change the behavior. 2014-07-22 21:53:54 -04:00
Steve Pulec
12d61ede41 Updating dynamodb2 tests for newer boto. 2014-07-22 21:47:56 -04:00
Sorin
6277f72c07 add try catch for missing package in old boto versions 2014-01-07 12:59:36 +02:00
Sorin
b31c3ab8a5 use requires_boto_gte instead of removing the earlier versions 2014-01-07 10:56:51 +02:00
creyer
48cfd19fe6 dynamodb v2 no indexes 2013-12-10 11:51:54 +02:00