Commit Graph

244 Commits

Author SHA1 Message Date
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
Bert Blommers
8dbfd43c5c Use TaggingService for S3 - Cleanup 2020-04-01 15:35:25 +01:00
Bert Blommers
f7ad4cbc09 Use TaggingService for S3 Objects 2020-03-31 12:04:04 +01:00
Mike Grima
0c191ac33b Raise errors on tagging buckets with aws:*
Cannot tag S3 buckets with reserved tag key space `aws:`
2020-03-30 17:27:06 -07:00
Bert Blommers
e9930b0cb2 S3 - test fix - Use plain text as content, instead of file 2020-03-10 13:30:38 +00:00
Bert Blommers
f17d5f8e4d #657 - S3 - Verify content type is set/returned as appropriate 2020-03-10 12:56:33 +00:00
Bert Blommers
47349b30df #2567 - When mocking URLs, always return the first match 2020-02-27 08:54:57 +00:00
Steve Pulec
11e64109eb Fix s3 test for location constraint. 2020-02-17 20:32:28 -06:00
Steve Pulec
6b6a059350
Merge pull request #2132 from Projectplace/tagging-directive
Support x-amz-tagging-directive in s3 copy_object
2020-02-17 20:00:30 -06:00
Mike Grima
11b7be0e85 Implemented S3 Account-level public access block.
- Also added AWS Config listing and fetching support
- Also fixed Lambda test breakage
2020-02-17 15:41:27 -08:00
Bert Blommers
ceb16b00a7 S3 LocationConstraint test can only be run in non-ServerMode 2020-02-02 12:45:57 +00:00
Bert Blommers
a86cba79de Add S3 LocationConstraint to Lambda tests 2020-02-02 11:48:32 +00:00
Bert Blommers
f74f08581a S3 - Add IllegalLocationConstraint validation when creating buckets 2020-02-02 10:36:51 +00:00
Asher Foa
d9d055c75d Fix more typos. 2020-01-23 10:15:02 -08:00
Waldemar Hummer
4ad111830b fix tests 2019-12-21 13:27:49 +01:00
Mike Grima
84ccdbd1cd Implemented S3 Public Access Block 2019-12-12 17:45:31 -08:00
Niklas Janlert
b51d5ad65f Support x-amz-tagging-directive in s3 copy_object 2019-11-23 00:38:26 +01:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
Mike Grima
503bc333ca Small fix for S3-AWS Config compatibility
- Small bug in tags with AWS Config
- Aggregated results lack "tags" in the result set
- Buckets also add a supplementary configuration of
"BucketTaggingConfiguration"
2019-10-29 14:35:13 -07:00
Mike Grima
e9dc0c9a3a Fixed bugs in AWS Config Querying
- Fixed some log bugs in the Config querying APIs
- Fixed an issue with S3 ACLs when described from Config (it's actually
a double-wrapped JSON)
2019-10-23 22:32:45 -07:00
Mike Grima
57dc6522f2
Merge pull request #2505 from mikegrima/configFix
Fixed a bug with S3 bucket policies for AWS Config
2019-10-22 15:53:18 -07:00
Mike Grima
9273db7e61 Fixed a bug with S3 bucket policies for AWS Config 2019-10-22 15:01:39 -07:00
Mike Grima
1cde5d37eb
Merge pull request #2483 from thincal/fix/list-objects-with-truncation
s3 list_object: return the NextMarker info if it's truncated
2019-10-22 09:57:15 -07:00
LS
b3ea4c2707 add unit test for s3 list_object with truncation 2019-10-21 15:10:26 +08:00
Harrison Termotto
f788fd5c8c Remove erroneous comment 2019-10-17 00:17:45 -04:00
Harrison Termotto
df2de373b2 Add tagging to versioned s3 objects. 2019-10-17 00:16:16 -04:00
koshigoe
98f33740e1
fix(s3): check whether key is None or not to avoid exception.
```
AttributeError: 'NoneType' object has no attribute 'multipart'
```
2019-10-16 18:13:59 +09:00
Mike Grima
2a2c3e80f0 Adding support for querying the AWS Config resource for S3.
- Need to add support still for batch requests and batch aggregation requests in a future PR
2019-10-13 10:14:15 -07:00
Mike Grima
d925335f05
Merge pull request #2443 from mikegrima/configquery
Adding support for querying AWS Config
2019-10-03 13:38:43 -07:00
Mike Grima
c4b310d7a5 Adding support for querying AWS Config for supported configurations.
At this time, only adding support for S3.
2019-10-03 11:43:56 -07:00
Chih-Hsuan Yen
6c0a2dc374
Fix copying S3 objects with question marks in keys
PR #2062 fixes copy for unicode keys. However, the change breaks keys
with question marks. Here is an alternative fix that works for both
emojis and question marks.

I notice this when running the test suite of aiobotocore. One of the
tests [1] is broken with moto >= 1.3.8.

[1] https://github.com/aio-libs/aiobotocore/blob/0.10.3/tests/test_basic_s3.py#L314-L329
2019-09-29 23:55:52 +08:00
Jesse Vogt
2df0309db5 unquote key name multiple times until stable value 2019-09-24 16:10:08 -05:00
Gapex
d8e69a9a36 list with prifix 2019-09-17 12:44:48 +08:00
Gapex
a466ef2d1b check key & common prefix in unit test' 2019-09-17 12:42:33 +08:00
Gapex
1c36e1e2c5 update unit test and fix StartAfter 2019-09-17 10:42:10 +08:00
Gapex
c04c72d435 update MaxKeys unite test 2019-09-16 18:09:42 +08:00
Gapex
84715e9a2a add truncate unite test 2019-09-16 16:46:19 +08:00
Łukasz Sznuk
e0304bc500 Allows leading // for mocked s3 paths (#1637). 2019-08-28 16:17:45 +02:00
Steve Pulec
5abe56fd2b
Merge pull request #2250 from szczeles/s3_delete_objects_boto3
Raising MalformedXML exception when using boto3 client and s3.delete_objects()
2019-07-23 22:41:45 -05:00
Mariusz Strzelecki
51d96ae8f3 Test split into boto and boto3 part 2019-07-23 20:53:45 +02:00
Ruslan Kuprieiev
615d427c6d tests: multipart: use REDUCED_PART_SIZE and variable part size
There is no reason to use 5M chunks, especially with the reduced_part_size
decorator. Also made part_size to be variable to add extra layer of
testing to make sure that moto is handling that scenario correctly.

Signed-off-by: Ruslan Kuprieiev <ruslan@iterative.ai>
2019-07-20 16:26:24 +03:00
Ruslan Kuprieiev
2c2dff22bc moto: s3: support partNumber for head_object
To support it, we need to keep multipart info in the key itself when
completing multipart upload.

Fixes #2154

Signed-off-by: Ruslan Kuprieiev <ruslan@iterative.ai>
2019-07-15 20:47:29 +03:00
Mariusz Strzelecki
f32db6e64a Raising MalformedXML exception when using boto3 client and s3.delete_objects() 2019-07-11 09:53:23 +02:00
Aden Khan
b2adbf1f48 Adding the functionality and test so that the If-Modified-Since header is honored in GET Object
Signed-off-by: Aden Khan <aakhan@sep.com>
2019-07-03 14:25:08 -04:00
Alexander Mohr
7271fb9391 Fix S3 backend operations with VersionId (#2055)
* fix s3 issues

* fix merge conflict

* fix and add test cases
2019-05-25 20:19:33 +01:00
Gregory Bataille
d952410965 1987 support transfer acceleration (#2018)
* chore(): remove executable flag on moto/s3/response.py

* chore(): ignore .eggs temp file

* feat(#1987): get bucket acceleration support

* feat(#1987): put bucket acceleration support

* feat(#1987): suspend undefined bucket is a no-op

* feat(#1987): validate accelerate_configuration status

* feat(#1987): bucket containing dots do not support acceleration

* doc(#1987): update implementation coverage
2019-05-25 11:19:00 +01:00
Yaroslav Admin
b85d21b8fe Fixed copy-object from unversioned bucket to versioned bucket
The response of the copy-object operation was missing VersionId property
when source bucket is not versioned.
2019-04-02 15:30:01 +02:00
Gilbert Gilb's
dedb53371e [S3] Support null version ids for buckets with versioning disabled 2019-03-09 10:21:49 +01:00
Domenico Testa
6897a118ed Fixing S3 copy_key error when using unicode. 2019-02-16 16:42:00 +01:00
Steve Pulec
c2a1f4eb14 Fix S3 bucket location test. 2018-12-29 07:07:29 -05:00
Steve Pulec
97d9d46770
Merge pull request #1999 from dargueta/s3-spooling
Don't store S3 entirely in memory
2018-12-28 21:29:19 -05:00
Steve Pulec
dec665be43
Merge pull request #1986 from okomestudio/ts/fix-s3-common-prefix-pagination
Activate proper pagination for S3 common prefixes
2018-12-28 21:22:07 -05:00
Steve Pulec
e681f55ba1
Merge branch 'master' into bucket-name-length-limit 2018-12-28 21:04:10 -05:00
Steve Pulec
65364a8e71
Merge pull request #1961 from gbataille/fix_1959_location_constraint_us_east_1
Fix 1959 location constraint us east 1
2018-12-28 21:00:29 -05:00
Diego Argueta
1998d59cfc Add more tests to please Coveralls 2018-12-20 11:40:13 -08:00
Diego Argueta
191ad6d778 Make keys pickleable 2018-12-20 11:15:15 -08:00
Diego Argueta
2cc8784e5c Restore files modified in non-working fix. 2018-12-18 14:53:52 -08:00
Diego Argueta
b0a280bde2 Move S3 storage to SpooledTemporaryFile 2018-12-18 14:20:48 -08:00
Taro Sato
2038fa92be Activate proper pagination for S3 common prefixes 2018-12-05 16:17:28 -08:00
Jon Michaelchuck
009b02bcd5 Raise a client error if PutBucketTags request contains duplicate keys
A PutBucketTags request with duplicate keys will raise a ClientError
with code InvalidTag and message 'Cannot provide multiple Tags with the
same key'.
2018-11-26 15:56:46 -08:00
Jon Michaelchuck
fb7e52becc Check bucket name length at CreateBucket
Check that s3 bucket names follow the documented length restriction:

'Bucket names must be at least 3 and no more than 63 characters long.'

See https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
2018-11-22 06:08:03 -06:00
Grégory Bataille
b0eb7b263e test(#1959): us-east-1 located bucket should return a None LocationConstraint 2018-11-20 19:42:51 +01:00
Grégory Bataille
9291ff533a test(#1959): LocationConstraint us-east-1 should be refused 2018-11-20 18:56:56 +01:00
Jordan Upiter
756b5d6671 Add support for multiple delete markers on an s3 object 2018-09-11 10:41:01 -04:00
Steve Pulec
0309d1ec39
Merge pull request #1707 from Whamied/etag-no-quote-patch
Added support for multipart upload completion with unquoted etags
2018-07-19 10:05:07 -04:00
Waleed Hamied
f8fdd439ad Added support for multipart upload confirmation with unquoted etags 2018-07-03 15:36:41 -04:00
Sanjeev Suresh
2ebd5f7359 tests for prefixes that return empty result sets 2018-06-22 11:59:01 -07:00
Alexander Mohr
07540a35fe add unittest 2018-05-03 02:30:29 -07:00
Mike Grima
cc14114afe Implemented S3 get/put_notification_configuration (#1516)
closes #973
2018-03-21 09:11:24 -07:00
Srikanth Raju
4f05aa725c S3: Do not attempt to return deleted files in bucket listing 2018-03-06 01:55:14 -08:00
Mike Grima
770281aef2 Added put_bucket_logging support (#1401)
- Also added put acl for XML
- Put logging will also verify that the destination bucket exists in the same region with the proper ACLs attached.
2018-01-02 20:47:57 -08:00
Terry Cain
d447929d29 utf 8 in key deletions V2 (#1321)
* supporting utf-8 in key deletions

* Fixed decoding of version body when regexing

* Fixed some more random errors

* Possible fix

* Fixed unused import

* Added UTF comment Py2
2017-11-06 13:39:08 -08:00
Brian Pandola
68a1e41286 Fix #1318 2017-11-02 23:03:54 -07:00
Terry Cain
b40c5e557e Fixed S3 versioning bug + minor cleanup (#1272)
* Fixed S3 versioning bug + minor cleanup

Fixes 1271

* flake8
2017-10-18 16:22:35 -07:00
Mike Grima
7167e09ca5 Fixed bug in S3 put_bucket_tagging. Closes #1181. 2017-09-22 13:35:00 -07:00
Jack Danger
eeda0cd28e re-enabling tests 2017-09-22 10:57:06 -07:00
Jack Danger
ea66a71765 supporting signed urls for private keys 2017-09-22 10:44:37 -07:00
Jack Danger
ca7661bc1e S3 keys inherit bucket ACL 2017-09-20 19:04:23 -07:00
Jack Danger
c8f6fb7738 Creating server-safe anonymous clients for testing 2017-09-16 15:48:20 -07:00
Jack Danger
e33702fbac using deprecated mock just to patch requests library 2017-09-16 12:49:07 -07:00
Jack Danger
2055bb62f5 enforce s3 acls 2017-09-16 12:49:07 -07:00
Mike Grima
5d8cd22b01 Fixed S3 lifecycle error message. (#1110)
Fixes #1109
Also added PutBucketTagging support
Also added Bucket CORS support
2017-09-07 11:30:05 -07:00
Alexander Mohr
2447725e98 fix list-object-versions with prefix (#1045)
fix list-object-versions with prefix
2017-08-10 17:14:31 -07:00
Jack Danger
3eef3c23b1 Updating examples in README to latest API 2017-07-26 22:57:55 -07:00
Taro Sato
38fa6809c0 Make HEAD bucket throw ClientError instead of NoSuchBucket on boto3 2017-07-20 15:39:45 -07:00
eric-weaver
abf3078c28 implement s3 object tagging 2017-07-15 22:36:12 -04:00
Steve Pulec
a956c3a85c Fix tests for py3. 2017-06-03 19:35:23 -04:00
Steve Pulec
113bfcb4ea Fix duplicate bucket creation with LocationConstraint. Closes #970. 2017-06-03 19:29:59 -04:00
Steve Pulec
49c947ece7 Stop autodecoding content so we can mimic requests. Closes #963. 2017-06-03 19:06:55 -04:00
Jack Danger
6163363c15 Merge pull request #960 from spg/feat-s3-if-modified-since
feat(s3) HeadObject: honor If-Modified-Since header
2017-06-01 09:10:20 -07:00
Simon-Pierre Gingras
a2a6514936 attempt at fixing tests 2017-05-23 11:29:01 -07:00
Kate Heddleston
a21413f4ea NoSuchKey error in S3 is actually '404'
Fixes #571 and #953
2017-05-22 19:08:12 -07:00
Simon-Pierre Gingras
517416c4d9 feat(s3) HeadObject: honor If-Modified-Since header 2017-05-19 15:59:25 -07:00
georgepsarakis
ac8b8c9a36 Add tests for DeleteMarker support 2017-05-14 20:00:26 +03:00
georgepsarakis
2714fb76f1 Python 2/3 compatibility fixes 2017-04-30 08:03:46 +03:00
georgepsarakis
819a308e2b Add failing test for S3 list_object_versions 2017-04-29 21:56:48 +03:00
Dmytro Milinevskyy
6e61ee4caa s3: handle WebsiteRedirectLocation
spulec/moto#821
2017-04-14 13:32:52 +02:00
Steve Pulec
3c0c4c2996 Fix tests for py3. 2017-02-23 22:28:09 -05:00
Steve Pulec
f37bad0e00 Lints. 2017-02-23 21:37:43 -05:00