Address pytest warnings (#3629)
* Address `boto` deprecation warnings This commit eliminates the following warning: ../boto/ec2/connection.py:582: PendingDeprecationWarning: The current get_all_instances implementation will be replaced with get_all_reservations. `boto` isn't likely to ever make good on this warning, but doing the replacement will declutter the `moto` test output. * Remove `invoke_lambda` tracebacks from unit test logging If an exception is encountered, the details are returned in the response payload. Printing the traceback was just adding noise to the pytest output. * Use known AMIs in unit tests This commit eliminates the following warning in the pytest output: `PendingDeprecationWarning: Could not find AMI with image-id:ami-123456, in the near future this will cause an error.` Known, pre-loaded AMI image ids are used instead of random ids that don't actually exist in the moto backend. The integrity of the tests is unaffected by this change. A test has been added to provide explicit coverage of the PendingDeprecationWarning raised when an invalid AMI image id is passed to moto.
This commit is contained in:
parent
cd25ab7a16
commit
f4b81e69b8
17 changed files with 98 additions and 72 deletions
|
|
@ -4,6 +4,7 @@ from __future__ import unicode_literals
|
|||
from botocore.exceptions import ClientError
|
||||
|
||||
import pytest
|
||||
from unittest import SkipTest
|
||||
|
||||
import base64
|
||||
import ipaddress
|
||||
|
|
@ -16,7 +17,7 @@ from boto.exception import EC2ResponseError
|
|||
from freezegun import freeze_time
|
||||
import sure # noqa
|
||||
|
||||
from moto import mock_ec2_deprecated, mock_ec2
|
||||
from moto import mock_ec2_deprecated, mock_ec2, settings
|
||||
from tests import EXAMPLE_AMI_ID
|
||||
from tests.helpers import requires_boto_gte
|
||||
|
||||
|
|
@ -1664,3 +1665,15 @@ def test_describe_instance_attribute():
|
|||
invalid_instance_attribute=invalid_instance_attribute
|
||||
)
|
||||
ex.value.response["Error"]["Message"].should.equal(message)
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_warn_on_invalid_ami():
|
||||
if settings.TEST_SERVER_MODE:
|
||||
raise SkipTest("Can't capture warnings in server mode.")
|
||||
ec2 = boto3.resource("ec2", "us-east-1")
|
||||
with pytest.warns(
|
||||
PendingDeprecationWarning,
|
||||
match=r"Could not find AMI with image-id:invalid-ami.+",
|
||||
):
|
||||
ec2.create_instances(ImageId="invalid-ami", MinCount=1, MaxCount=1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue