Commit Graph

2764 Commits

Author SHA1 Message Date
zscholl
0423be259a remove backend logic & py27 incompatible timezone 2020-04-30 09:10:42 -05:00
zscholl
51e7002cbb add tests 2020-04-30 09:10:42 -05:00
Bert Blommers
2d0087d500 Linting 2020-04-29 16:29:25 +01:00
usmankb
f4888da334 added test asserts and review comments 2020-04-29 18:02:02 +05:30
usmankb
84100c4483 enhancement Create-VPC-endpoint 2020-04-29 00:28:19 +05:30
Steve Pulec
f33e810e15
Merge pull request #2921 from getglad/support_optin_regions
Support OptInStatus for EC2 describe_region calls
2020-04-27 19:42:04 -05:00
Matthew Gladney
ff1beea280 Merge https://github.com/spulec/moto into support_optin_regions 2020-04-27 18:27:40 -04:00
Alessandro Palumbo
05860fcdd1 Fixed apigateway usage plan api when dealing with non existing usage plans and non existing api keys 2020-04-27 22:58:51 +02:00
Mike Grima
dd22e7855a Fixed a regression with CloudWatch 2020-04-27 12:56:17 -07:00
Bert Blommers
b5a894dd89
Merge pull request #2919 from antoinewdg-mt/fix-s3-delete-objects-with-versioning
Handle VersionId in S3:delete_objects
2020-04-27 15:38:06 +01:00
Steve Pulec
30a98de687
Merge pull request #2924 from pvbouwel/ddb_full_parsing_executor
Improve DDB expressions support4: Execution using AST
2020-04-26 15:53:25 -05:00
Steve Pulec
60bcb46729
Merge pull request #2894 from microe/add_sts_assume_role_with_saml
Add the STS call assume_role_with_saml
2020-04-26 15:25:38 -05:00
Steve Pulec
2b255b0c5b
Merge pull request #2879 from bblommers/feature/dynamodb_transact_write_items
Feature: DynamoDB: transact_write_items
2020-04-26 15:20:19 -05:00
pvbouwel
ec731ac901 Improve DDB expressions support4: Execution using AST
Part of structured approach for UpdateExpressions:
 1) Expression gets parsed into a tokenlist (tokenized)
 2) Tokenlist get transformed to expression tree (AST)
 3) The AST gets validated (full semantic correctness)
 4) AST gets processed to perform the update -> this commit

This commit uses the AST to execute the UpdateExpression.
All the existing tests pass. The only tests that have been
updated are in test_dynamodb_table_with_range_key.py because
they wrongly allow adding a set to a path that doesn't exist.
This has been alligend to correspond to the behavior of AWS
DynamoDB.

This commit will resolve https://github.com/spulec/moto/issues/2806
Multiple tests have been implemented that verify this.
2020-04-26 15:59:12 +01:00
Bert Blommers
6a41573eb8
Merge pull request #2920 from lukaszpierog/handle-tags-and-description-in-secrets
Do not remove tags after secret update, handle description
2020-04-26 10:29:02 +01:00
Bert Blommers
56aa454397 Merge branch 'master' into feature/dynamodb_transact_write_items 2020-04-26 10:24:27 +01:00
Steve Pulec
efbb9c54a5
Merge pull request #2909 from oliparcol/bug/2759
S3 - Allow keys to start with leading slashes
2020-04-25 18:46:25 -05:00
Steve Pulec
fbc431dbff
Merge pull request #2837 from bblommers/bug/2810
EC2 - Explicitly set ebs_optimized to false if not specified
2020-04-25 18:44:48 -05:00
Steve Pulec
229b3ec196
Merge pull request #2838 from bblommers/feature/2388
CloudFormation - CreateChangeSet should not create resources
2020-04-25 18:44:18 -05:00
Steve Pulec
ac6c550fe6
Merge pull request #2852 from bblommers/feature/mock_eb
Add mock for ElasticBean
2020-04-25 18:42:25 -05:00
Steve Pulec
b24b7cb858
Merge branch 'master' into feature/extend_generic_tagger_to_s3 2020-04-25 18:40:50 -05:00
Steve Pulec
a35d1cb780
Merge pull request #2861 from bblommers/feature/883
Lambda - Add test to verify remove_permission functionality
2020-04-25 18:40:05 -05:00
Steve Pulec
365a2d140b
Merge pull request #2864 from bblommers/bugfix/2800
CognitoIdentity - Fix Format of Identity ID
2020-04-25 18:39:43 -05:00
Steve Pulec
b4a11cd19f
Merge pull request #2848 from bblommers/feature/2239
CloudWatch - Initial get-metric-data implementation
2020-04-25 18:39:21 -05:00
Steve Pulec
8595493aee
Merge branch 'master' into feature/dynamodb_item_limit 2020-04-25 18:38:08 -05:00
Steve Pulec
9c3f6c7592
Merge pull request #2825 from bblommers/feature/2699
EC2 - Add option to add volumes using CloudFormation
2020-04-25 18:36:26 -05:00
Steve Pulec
dbeb16d9b9
Merge pull request #2823 from bblommers/bug/2797
DynamoDB - Allow case insensitive AND in KeyConditionExpression
2020-04-25 18:35:51 -05:00
Steve Pulec
f4338876ff
Merge pull request #2834 from bblommers/feature/cloudwatch-integrated-metrics
Cloudwatch  - Add default metrics for other services
2020-04-25 18:35:17 -05:00
JohnWC
4a800d8f2c Updated for black 2020-04-25 11:24:54 -05:00
Olivier Parent Colombel
d852f7dd06 Fixing lint errors. 2020-04-25 17:49:50 +02:00
Olivier Parent Colombel
637e0188a2 Allow S3 keys to start with leading slashes. 2020-04-25 17:49:50 +02:00
JohnWC
0828c5af9d Add unit test for add apigateway with policy 2020-04-25 03:27:59 -05:00
=
b63110be9e handle description in describe secret operation, add tests 2020-04-24 21:47:11 +02:00
Matthew Gladney
59c1f0e131 black reformatting changes 2020-04-24 14:20:58 -04:00
Matthew Gladney
908468edb6 Support OptInStatus for EC2 describe_region calls 2020-04-24 14:15:22 -04:00
Antoine Wendlinger
9ed6e52d0a Handle VersionId in S3:delete_objects
VersionId is not read in delete_objects requests, and the behavior
differs from its singular counterpart delete_object.

This fixes the issue.
2020-04-23 19:01:58 +02:00
Dmitry Ryzhikov
e866df9b9d Merge branch 'master' into fix/table-filter-value-error 2020-04-22 20:08:05 +03:00
Bert Blommers
037c6e1320
Merge pull request #2914 from MarcosBernal/feature/add-get-databases-method-to-glue
Add get_databases method to glue and update IMPLEMENTATION_COVERAGE.md
2020-04-22 16:37:32 +01:00
Daniel Wallace
80b27a6b93
blacken 2020-04-21 21:43:32 -05:00
Daniel Wallace
49b056563a
process multipart form 2020-04-21 19:52:10 -05:00
Daniel Wallace
b3f6e5ab2f
add test 2020-04-21 18:07:50 -05:00
MarcosBernal
9381c670ab change code style to pass black --check 2020-04-21 22:34:05 +02:00
MarcosBernal
753a39ed0d Add get_databases method to glue moto client. Update IMPLEMENTATION_COVERAGE.md with methods that were covered previously 2020-04-21 20:10:39 +02:00
Bert Blommers
12ac1cbae2
Merge pull request #2911 from cm-iwata/fix_2910_list_thing_principal
Added existence check of target thing to IoT ListThingPrincipals
2020-04-21 07:47:12 +01:00
Tomoya Iwata
d9b782be0a fix lint 2020-04-21 14:43:04 +09:00
Tomoya Iwata
b6789a2cc7 Added existence check of target thing to IoT ListThingPrincipals
fix #2910
2020-04-21 14:11:53 +09:00
Dmitry Ryzhikov
1a3a7d6a92 Add test for missing table name 2020-04-20 20:23:37 +03:00
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
pvbouwel
fc4d88401d Improve DDB expressions support3: AST Validation
Part of structured approach for UpdateExpressions:
 1) Expression gets parsed into a tokenlist (tokenized)
 2) Tokenlist get transformed to expression tree (AST)
 3) The AST gets validated (full semantic correctness) -> this commit
 4) AST gets processed to perform the update

This commit uses the AST to perform validation.  Validation makes sure the
nodes encounterd have valid values and they will also resolve values for
references that refer to item state or values passed into the expression.
2020-04-19 16:58:07 +01:00
pvbouwel
9ed613e197 Better DDB expressions support2: ExpressionTree
Part of structured approach for UpdateExpressions:
 1) Expression gets parsed into a tokenlist (tokenized)
 2) Tokenlist get transformed to expression tree (AST) -> This commit
 3) The AST gets validated (full semantic correctness)
 4) AST gets processed to perform the update

This commit uses the tokenlist to build an expression tree. This tree is not
yet used. Still it allows to raise additional Validation Exceptions which
previously were missed silently therefore it allows tests to catch these type of
ValidationException. For that reason DDB UpdateExpressions will be parsed
already. It also makes sure we won't break existing tests.

One of the existing tests had to be changed in order to still pass:
 - test_dynamodb_table_with_range_key.test_update_item_with_expression

This test passed in a numeric literal which is not supported by DynamoDB
and with the current tokenization it would get the same error as in AWS
DynamoDB.
2020-04-18 09:19:03 +01:00