#657 - S3 - Verify content type is set/returned as appropriate

This commit is contained in:
Bert Blommers 2020-03-10 12:56:33 +00:00
parent 1aa99bb405
commit f17d5f8e4d

View File

@ -11,6 +11,7 @@ from six.moves.urllib.error import HTTPError
from functools import wraps from functools import wraps
from gzip import GzipFile from gzip import GzipFile
from io import BytesIO from io import BytesIO
import mimetypes
import zlib import zlib
import pickle import pickle
@ -2024,6 +2025,24 @@ def test_boto3_get_object():
e.exception.response["Error"]["Code"].should.equal("NoSuchKey") e.exception.response["Error"]["Code"].should.equal("NoSuchKey")
@mock_s3
def test_boto3_s3_content_type():
s3 = boto3.resource("s3", region_name=DEFAULT_REGION_NAME)
my_bucket = s3.Bucket("my-cool-bucket")
my_bucket.create()
local_path = "test_s3.py"
s3_path = local_path
s3 = boto3.resource("s3", verify=False)
with open(local_path, "rb") as _file:
content_type = mimetypes.guess_type(local_path)
s3.Object(my_bucket.name, s3_path).put(
ContentType=content_type[0], Body=_file, ACL="public-read"
)
s3.Object(my_bucket.name, s3_path).content_type.should.equal(content_type[0])
@mock_s3 @mock_s3
def test_boto3_get_missing_object_with_part_number(): def test_boto3_get_missing_object_with_part_number():
s3 = boto3.resource("s3", region_name=DEFAULT_REGION_NAME) s3 = boto3.resource("s3", region_name=DEFAULT_REGION_NAME)