Env variable for default key buffer size (#4001)
* - introduce environment variable for DEFAULT_KEY_BUFFER_SIZE * - prefix env variable with MOTO_S3 to avoid env variable conflicts * - black formatting * - fix formatting
This commit is contained in:
parent
c1b38be02d
commit
479ce861a7
3 changed files with 36 additions and 6 deletions
|
|
@ -27,6 +27,8 @@ from boto.s3.key import Key
|
|||
from freezegun import freeze_time
|
||||
import six
|
||||
import requests
|
||||
|
||||
from moto.s3 import models
|
||||
from moto.s3.responses import DEFAULT_REGION_NAME
|
||||
from unittest import SkipTest
|
||||
import pytest
|
||||
|
|
@ -37,7 +39,7 @@ from moto import settings, mock_s3, mock_s3_deprecated, mock_config
|
|||
import moto.s3.models as s3model
|
||||
from moto.core.exceptions import InvalidNextTokenException
|
||||
from moto.core.utils import py2_strip_unicode_keys
|
||||
|
||||
from moto.settings import get_s3_default_key_buffer_size
|
||||
|
||||
if settings.TEST_SERVER_MODE:
|
||||
REDUCED_PART_SIZE = s3model.UPLOAD_PART_MIN_SIZE
|
||||
|
|
@ -1125,6 +1127,28 @@ def test_multipart_upload_from_file_to_presigned_url():
|
|||
os.remove("text.txt")
|
||||
|
||||
|
||||
@mock_s3
|
||||
def test_default_key_buffer_size():
|
||||
# save original DEFAULT_KEY_BUFFER_SIZE environment variable content
|
||||
original_default_key_buffer_size = os.environ.get(
|
||||
"MOTO_S3_DEFAULT_KEY_BUFFER_SIZE", None
|
||||
)
|
||||
|
||||
os.environ["MOTO_S3_DEFAULT_KEY_BUFFER_SIZE"] = "2" # 2 bytes
|
||||
assert get_s3_default_key_buffer_size() == 2
|
||||
fk = models.FakeKey("a", os.urandom(1)) # 1 byte string
|
||||
assert fk._value_buffer._rolled == False
|
||||
|
||||
os.environ["MOTO_S3_DEFAULT_KEY_BUFFER_SIZE"] = "1" # 1 byte
|
||||
assert get_s3_default_key_buffer_size() == 1
|
||||
fk = models.FakeKey("a", os.urandom(3)) # 3 byte string
|
||||
assert fk._value_buffer._rolled == True
|
||||
|
||||
# restore original environment variable content
|
||||
if original_default_key_buffer_size:
|
||||
os.environ["MOTO_S3_DEFAULT_KEY_BUFFER_SIZE"] = original_default_key_buffer_size
|
||||
|
||||
|
||||
@mock_s3
|
||||
def test_s3_object_in_private_bucket():
|
||||
s3 = boto3.resource("s3")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue