Как проверить, что max_attempts конфигурации Botocore работает - PullRequest
0 голосов
/ 04 июля 2019

Проблема в том, что я хочу написать несколько тестов, которые проверяют, что клиент s3, созданный с параметром конфигурации retries=dict(max_attempts=10), действительно пытается 10 раз, прежде чем вызвать исключение или что-то еще. Но я не очень понимаю, как это можно сделать.

Я использовал mock_s3 и попробовал moto_server с monkeypatching, который использовал метод s3, но безуспешно.

Первый запуск moto_server

moto_server s3 --port 4567

def test_delete():
   client = boto3.client("s3", config=Config(retries=dict(max_attempts=10)), endpoint_url="http://localhost:4567")
   client.create_bukect(Bucket="bucket_name")
   client.put_object(Bucket="bucket_name", Key="file_name", Body="file_content".encode("utf-8"))
   client.delete_object(Bucket="bucket_name", Key="wrong_file_name")

Я ожидаю получить 10 записей в консоли с запущенным moto_server о неправильном_файле_имя. Есть ли правильный способ проверки повторов, не могли бы вы поделиться своими мыслями?

...