тело Boto.exception.BotoServerError всегда является строкой? Как проверить, является ли Boto.exception.BotoServerError 400 ошибочным телом запроса строка? - PullRequest
0 голосов
/ 26 марта 2020

Я разрабатываю модульный тест для проверки разбора исключений для boto.exception.BotoServerError 400 Плохой запрос. Мне нужно убедиться, что error.body str, а не байты. Но я понятия не имею, как выглядит ошибка? Они предопределены AWS?

Best,

1 Ответ

1 голос
/ 26 марта 2020

Если вы поймаете ClientError, тогда вы сможете сделать это:

import boto3
from botocore.exceptions import ClientError

try:
    ddb = boto3.client('dynamodb')
    ddb.describe_table(TableName='fred')
except ClientError as e:
    rc = e.response['ResponseMetadata']['HTTPStatusCode']

    if rc == 400:
        print("Got 400, as expected")
    else:
        print(f'Expected 400, got {rc}')
...