The Email ``from`` header is either formatted as ``name <address>`` or ``address``.
This commit will use `parseaddr` to extract a ``(name, address)`` tuple, which we will use the ``address`` to check if it's verified.
Also support the case where ``Source`` is omitted (which AWS requires the ``from`` header to be set).
Boto does does not include the govcloud backends when displaying lambda
regions. In order to test lambda with a govcloud region, the region
must be explicitly added.
* added tests for SSM Parameter Store filters (GetParametersByPath - ParameterStringFilter)
* implemented SSM Parameter Store filters support (only for get_parameters_by_path API)
* adding myself to authors file
* Add tests for message attribute validation in SNS
Fixes up bug in return value of
moto.sns.responses.SNSResponse._parse_message_attributes due to
accidental recycling of a variable.
* Fix test_sns.test_publish_to_http in py36 env
Http response is encoded as a byte string which json.loads can't handle.
* Add `restored_from_snapshot` boolean to Cluster metadata.
* Return `RestoreStatus` from describe_db_clusters if cluster was restored from a snapshot.
Fixes#1506
This patch teaches `LogsResponse` class how to handle the DescribeLogGroups
request, so that we can mock out the `boto.describe_log_groups()` call.
With this change in place, we can write as below:
@mock_logs
def test_log_group():
conn = boto3.client('logs', 'us-west-2')
some_method_to_init_log_groups()
resp = conn.describe_log_groups(logGroupNamePrefix='myapp')
assert ...
This should be fairly useful for a number of programs which handles
CloudWatchLogs.
Signed-off-by: Fujimoto Seiji <fujimoto@clear-code.com>
The load() method provided by the built-in JSON module does not accept a
byte-type value in Python 3.5 (or versions before), and will raise an
exception if one is passed.
For details, please see: https://bugs.python.org/issue17909
Thus, for better compatibility, we'd better decode the content of the
JSON file before passing it to the parser, instead of letting the module
to guess the encoding.
TimeoutSeconds isn't a required field so we can't rely on it being there.
Quick tests against the AWS API show that when it's not specified the ExpiresAfter field seems to be 1 hour after the request.
* Correctly return all snapshots for a given DBInstanceIdentifier.
* If an invalid DBInstanceIdentifier is passed in, return an empty array
instead of raising a ClientError (which is what AWS actually does).
Fixes#1569