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
@ -20,7 +20,6 @@ import uuid
|
|||||||
import tarfile
|
import tarfile
|
||||||
import calendar
|
import calendar
|
||||||
import threading
|
import threading
|
||||||
import traceback
|
|
||||||
import weakref
|
import weakref
|
||||||
import requests.exceptions
|
import requests.exceptions
|
||||||
|
|
||||||
@ -608,7 +607,6 @@ class LambdaFunction(CloudFormationModel, DockerModel):
|
|||||||
# Docker itself is probably not running - there will be no Lambda-logs to handle
|
# Docker itself is probably not running - there will be no Lambda-logs to handle
|
||||||
return "error running docker: {}".format(e), True, ""
|
return "error running docker: {}".format(e), True, ""
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
traceback.print_exc()
|
|
||||||
logs = os.linesep.join(
|
logs = os.linesep.join(
|
||||||
[line for line in self.convert(output).splitlines()[:-1]]
|
[line for line in self.convert(output).splitlines()[:-1]]
|
||||||
)
|
)
|
||||||
|
@ -794,7 +794,7 @@ class BatchBackend(BaseBackend):
|
|||||||
|
|
||||||
for instance_type in needed_instance_types:
|
for instance_type in needed_instance_types:
|
||||||
reservation = self.ec2_backend.add_instances(
|
reservation = self.ec2_backend.add_instances(
|
||||||
image_id="ami-ecs-optimised", # Todo import AMIs
|
image_id="ami-03cf127a", # Todo import AMIs
|
||||||
count=1,
|
count=1,
|
||||||
user_data=None,
|
user_data=None,
|
||||||
security_group_names=[],
|
security_group_names=[],
|
||||||
|
@ -7,6 +7,7 @@ logging.getLogger("boto").setLevel(logging.CRITICAL)
|
|||||||
logging.getLogger("boto3").setLevel(logging.CRITICAL)
|
logging.getLogger("boto3").setLevel(logging.CRITICAL)
|
||||||
logging.getLogger("botocore").setLevel(logging.CRITICAL)
|
logging.getLogger("botocore").setLevel(logging.CRITICAL)
|
||||||
|
|
||||||
|
# Sample pre-loaded Image Ids for use with tests.
|
||||||
|
# (Source: moto/ec2/resources/amis.json)
|
||||||
EXAMPLE_AMI_ID = "ami-12c6146b"
|
EXAMPLE_AMI_ID = "ami-12c6146b"
|
||||||
EXAMPLE_AMI_ID2 = "ami-03cf127a"
|
EXAMPLE_AMI_ID2 = "ami-03cf127a"
|
||||||
|
@ -362,7 +362,7 @@ def test_autoscaling_group_describe_instances():
|
|||||||
autoscale_instance_ids = [instance.instance_id for instance in instances]
|
autoscale_instance_ids = [instance.instance_id for instance in instances]
|
||||||
|
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-east-1")
|
ec2_conn = boto.ec2.connect_to_region("us-east-1")
|
||||||
reservations = ec2_conn.get_all_instances()
|
reservations = ec2_conn.get_all_reservations()
|
||||||
instances = reservations[0].instances
|
instances = reservations[0].instances
|
||||||
instances.should.have.length_of(2)
|
instances.should.have.length_of(2)
|
||||||
instance_ids = [instance.id for instance in instances]
|
instance_ids = [instance.id for instance in instances]
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
template = {
|
template = {
|
||||||
"Parameters": {"R53ZoneName": {"Type": "String", "Default": "my_zone"}},
|
"Parameters": {"R53ZoneName": {"Type": "String", "Default": "my_zone"}},
|
||||||
"Resources": {
|
"Resources": {
|
||||||
"Ec2Instance": {
|
"Ec2Instance": {
|
||||||
"Type": "AWS::EC2::Instance",
|
"Type": "AWS::EC2::Instance",
|
||||||
"Properties": {"ImageId": "ami-1234abcd", "PrivateIpAddress": "10.0.0.25"},
|
"Properties": {"ImageId": EXAMPLE_AMI_ID, "PrivateIpAddress": "10.0.0.25"},
|
||||||
},
|
},
|
||||||
"HostedZone": {
|
"HostedZone": {
|
||||||
"Type": "AWS::Route53::HostedZone",
|
"Type": "AWS::Route53::HostedZone",
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from tests import EXAMPLE_AMI_ID, EXAMPLE_AMI_ID2
|
||||||
|
|
||||||
template = {
|
template = {
|
||||||
"Description": "AWS CloudFormation Sample Template Gollum_Single_Instance_With_EBS_Volume: Gollum is a simple wiki system built on top of Git that powers GitHub Wikis. This template installs a Gollum Wiki stack on a single EC2 instance with an EBS volume for storage and demonstrates using the AWS CloudFormation bootstrap scripts to install the packages and files necessary at instance launch time. **WARNING** This template creates an Amazon EC2 instance and an EBS volume. You will be billed for the AWS resources used if you create a stack from this template.",
|
"Description": "AWS CloudFormation Sample Template Gollum_Single_Instance_With_EBS_Volume: Gollum is a simple wiki system built on top of Git that powers GitHub Wikis. This template installs a Gollum Wiki stack on a single EC2 instance with an EBS volume for storage and demonstrates using the AWS CloudFormation bootstrap scripts to install the packages and files necessary at instance launch time. **WARNING** This template creates an Amazon EC2 instance and an EBS volume. You will be billed for the AWS resources used if you create a stack from this template.",
|
||||||
"Parameters": {
|
"Parameters": {
|
||||||
@ -217,43 +219,43 @@ template = {
|
|||||||
"AWSRegionArch2AMI": {
|
"AWSRegionArch2AMI": {
|
||||||
"ap-southeast-1": {
|
"ap-southeast-1": {
|
||||||
"64HVM": "NOT_YET_SUPPORTED",
|
"64HVM": "NOT_YET_SUPPORTED",
|
||||||
"32": "ami-b4b0cae6",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-beb0caec",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
"ap-southeast-2": {
|
"ap-southeast-2": {
|
||||||
"64HVM": "NOT_YET_SUPPORTED",
|
"64HVM": "NOT_YET_SUPPORTED",
|
||||||
"32": "ami-b3990e89",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-bd990e87",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
"us-west-2": {
|
"us-west-2": {
|
||||||
"64HVM": "NOT_YET_SUPPORTED",
|
"64HVM": "NOT_YET_SUPPORTED",
|
||||||
"32": "ami-38fe7308",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-30fe7300",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
"us-east-1": {
|
"us-east-1": {
|
||||||
"64HVM": "ami-0da96764",
|
"64HVM": "ami-0da96764",
|
||||||
"32": "ami-31814f58",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-1b814f72",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
"ap-northeast-1": {
|
"ap-northeast-1": {
|
||||||
"64HVM": "NOT_YET_SUPPORTED",
|
"64HVM": "NOT_YET_SUPPORTED",
|
||||||
"32": "ami-0644f007",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-0a44f00b",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
"us-west-1": {
|
"us-west-1": {
|
||||||
"64HVM": "NOT_YET_SUPPORTED",
|
"64HVM": "NOT_YET_SUPPORTED",
|
||||||
"32": "ami-11d68a54",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-1bd68a5e",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
"eu-west-1": {
|
"eu-west-1": {
|
||||||
"64HVM": "NOT_YET_SUPPORTED",
|
"64HVM": "NOT_YET_SUPPORTED",
|
||||||
"32": "ami-973b06e3",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-953b06e1",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
"sa-east-1": {
|
"sa-east-1": {
|
||||||
"64HVM": "NOT_YET_SUPPORTED",
|
"64HVM": "NOT_YET_SUPPORTED",
|
||||||
"32": "ami-3e3be423",
|
"32": EXAMPLE_AMI_ID,
|
||||||
"64": "ami-3c3be421",
|
"64": EXAMPLE_AMI_ID2,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
template = {
|
template = {
|
||||||
"Description": "AWS CloudFormation Sample Template vpc_single_instance_in_subnet.template: Sample template showing how to create a VPC and add an EC2 instance with an Elastic IP address and a security group. **WARNING** This template creates an Amazon EC2 instance. You will be billed for the AWS resources used if you create a stack from this template.",
|
"Description": "AWS CloudFormation Sample Template vpc_single_instance_in_subnet.template: Sample template showing how to create a VPC and add an EC2 instance with an Elastic IP address and a security group. **WARNING** This template creates an Amazon EC2 instance. You will be billed for the AWS resources used if you create a stack from this template.",
|
||||||
"Parameters": {
|
"Parameters": {
|
||||||
@ -263,14 +265,14 @@ template = {
|
|||||||
},
|
},
|
||||||
"Mappings": {
|
"Mappings": {
|
||||||
"RegionMap": {
|
"RegionMap": {
|
||||||
"ap-southeast-1": {"AMI": "ami-74dda626"},
|
"ap-southeast-1": {"AMI": EXAMPLE_AMI_ID},
|
||||||
"ap-southeast-2": {"AMI": "ami-b3990e89"},
|
"ap-southeast-2": {"AMI": EXAMPLE_AMI_ID},
|
||||||
"us-west-2": {"AMI": "ami-16fd7026"},
|
"us-west-2": {"AMI": EXAMPLE_AMI_ID},
|
||||||
"us-east-1": {"AMI": "ami-7f418316"},
|
"us-east-1": {"AMI": EXAMPLE_AMI_ID},
|
||||||
"ap-northeast-1": {"AMI": "ami-dcfa4edd"},
|
"ap-northeast-1": {"AMI": EXAMPLE_AMI_ID},
|
||||||
"us-west-1": {"AMI": "ami-951945d0"},
|
"us-west-1": {"AMI": EXAMPLE_AMI_ID},
|
||||||
"eu-west-1": {"AMI": "ami-24506250"},
|
"eu-west-1": {"AMI": EXAMPLE_AMI_ID},
|
||||||
"sa-east-1": {"AMI": "ami-3e3be423"},
|
"sa-east-1": {"AMI": EXAMPLE_AMI_ID},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ Resources:
|
|||||||
EC2Instance1:
|
EC2Instance1:
|
||||||
Type: AWS::EC2::Instance
|
Type: AWS::EC2::Instance
|
||||||
Properties:
|
Properties:
|
||||||
ImageId: ami-d3adb33f
|
ImageId: ami-03cf127a
|
||||||
KeyName: dummy
|
KeyName: dummy
|
||||||
InstanceType: t2.micro
|
InstanceType: t2.micro
|
||||||
Tags:
|
Tags:
|
||||||
@ -67,7 +67,7 @@ Resources:
|
|||||||
EC2Instance1:
|
EC2Instance1:
|
||||||
Type: AWS::EC2::Instance
|
Type: AWS::EC2::Instance
|
||||||
Properties:
|
Properties:
|
||||||
ImageId: ami-d3adb33f
|
ImageId: ami-03cf127a
|
||||||
KeyName: !Join [ ":", [ du, m, my ] ]
|
KeyName: !Join [ ":", [ du, m, my ] ]
|
||||||
InstanceType: t2.micro
|
InstanceType: t2.micro
|
||||||
Tags:
|
Tags:
|
||||||
@ -90,7 +90,7 @@ Resources:
|
|||||||
EC2Instance1:
|
EC2Instance1:
|
||||||
Type: AWS::EC2::Instance
|
Type: AWS::EC2::Instance
|
||||||
Properties:
|
Properties:
|
||||||
ImageId: ami-d3adb33f
|
ImageId: ami-03cf127a
|
||||||
KeyName: dummy
|
KeyName: dummy
|
||||||
InstanceType: t2.micro
|
InstanceType: t2.micro
|
||||||
Tags:
|
Tags:
|
||||||
|
@ -222,7 +222,7 @@ def test_stack_ec2_integration():
|
|||||||
conn.create_stack("ec2_stack", template_body=ec2_template_json)
|
conn.create_stack("ec2_stack", template_body=ec2_template_json)
|
||||||
|
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
|
|
||||||
stack = conn.describe_stacks()[0]
|
stack = conn.describe_stacks()[0]
|
||||||
@ -269,7 +269,7 @@ def test_stack_elb_integration_with_attached_ec2_instances():
|
|||||||
load_balancer = elb_conn.get_all_load_balancers()[0]
|
load_balancer = elb_conn.get_all_load_balancers()[0]
|
||||||
|
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
|
|
||||||
load_balancer.instances[0].id.should.equal(ec2_instance.id)
|
load_balancer.instances[0].id.should.equal(ec2_instance.id)
|
||||||
@ -465,7 +465,7 @@ def test_stack_security_groups():
|
|||||||
filters={"description": ["My other group"]}
|
filters={"description": ["My other group"]}
|
||||||
)[0]
|
)[0]
|
||||||
|
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
|
|
||||||
ec2_instance.groups[0].id.should.equal(instance_group.id)
|
ec2_instance.groups[0].id.should.equal(instance_group.id)
|
||||||
@ -692,7 +692,7 @@ def test_vpc_single_instance_in_subnet():
|
|||||||
subnet.vpc_id.should.equal(vpc.id)
|
subnet.vpc_id.should.equal(vpc.id)
|
||||||
|
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
instance = reservation.instances[0]
|
instance = reservation.instances[0]
|
||||||
instance.tags["Foo"].should.equal("Bar")
|
instance.tags["Foo"].should.equal("Bar")
|
||||||
# Check that the EIP is attached the the EC2 instance
|
# Check that the EIP is attached the the EC2 instance
|
||||||
@ -1011,7 +1011,7 @@ def test_single_instance_with_ebs_volume():
|
|||||||
)
|
)
|
||||||
|
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
|
|
||||||
volumes = ec2_conn.get_all_volumes()
|
volumes = ec2_conn.get_all_volumes()
|
||||||
@ -1157,7 +1157,7 @@ def test_conditional_if_handling():
|
|||||||
conn = boto.cloudformation.connect_to_region("us-west-1")
|
conn = boto.cloudformation.connect_to_region("us-west-1")
|
||||||
conn.create_stack("test_stack1", template_body=dummy_template_json)
|
conn.create_stack("test_stack1", template_body=dummy_template_json)
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
ec2_instance.image_id.should.equal(EXAMPLE_AMI_ID2)
|
ec2_instance.image_id.should.equal(EXAMPLE_AMI_ID2)
|
||||||
ec2_instance.terminate()
|
ec2_instance.terminate()
|
||||||
@ -1167,7 +1167,7 @@ def test_conditional_if_handling():
|
|||||||
"test_stack1", template_body=dummy_template_json, parameters=[("ENV", "prd")]
|
"test_stack1", template_body=dummy_template_json, parameters=[("ENV", "prd")]
|
||||||
)
|
)
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-west-2")
|
ec2_conn = boto.ec2.connect_to_region("us-west-2")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
ec2_instance.image_id.should.equal(EXAMPLE_AMI_ID)
|
ec2_instance.image_id.should.equal(EXAMPLE_AMI_ID)
|
||||||
|
|
||||||
@ -1179,11 +1179,11 @@ def test_cloudformation_mapping():
|
|||||||
"AWSTemplateFormatVersion": "2010-09-09",
|
"AWSTemplateFormatVersion": "2010-09-09",
|
||||||
"Mappings": {
|
"Mappings": {
|
||||||
"RegionMap": {
|
"RegionMap": {
|
||||||
"us-east-1": {"32": "ami-6411e20d", "64": "ami-7a11e213"},
|
"us-east-1": {"32": EXAMPLE_AMI_ID, "64": EXAMPLE_AMI_ID2},
|
||||||
"us-west-1": {"32": "ami-c9c7978c", "64": "ami-cfc7978a"},
|
"us-west-1": {"32": EXAMPLE_AMI_ID, "64": EXAMPLE_AMI_ID2},
|
||||||
"eu-west-1": {"32": "ami-37c2f643", "64": "ami-31c2f645"},
|
"eu-west-1": {"32": EXAMPLE_AMI_ID, "64": EXAMPLE_AMI_ID2},
|
||||||
"ap-southeast-1": {"32": "ami-66f28c34", "64": "ami-60f28c32"},
|
"ap-southeast-1": {"32": EXAMPLE_AMI_ID, "64": EXAMPLE_AMI_ID2},
|
||||||
"ap-northeast-1": {"32": "ami-9c03a89d", "64": "ami-a003a8a1"},
|
"ap-northeast-1": {"32": EXAMPLE_AMI_ID, "64": EXAMPLE_AMI_ID2},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Resources": {
|
"Resources": {
|
||||||
@ -1195,7 +1195,6 @@ def test_cloudformation_mapping():
|
|||||||
},
|
},
|
||||||
"InstanceType": "m1.small",
|
"InstanceType": "m1.small",
|
||||||
},
|
},
|
||||||
"Type": "AWS::EC2::Instance",
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -1205,16 +1204,16 @@ def test_cloudformation_mapping():
|
|||||||
conn = boto.cloudformation.connect_to_region("us-east-1")
|
conn = boto.cloudformation.connect_to_region("us-east-1")
|
||||||
conn.create_stack("test_stack1", template_body=dummy_template_json)
|
conn.create_stack("test_stack1", template_body=dummy_template_json)
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-east-1")
|
ec2_conn = boto.ec2.connect_to_region("us-east-1")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
ec2_instance.image_id.should.equal("ami-6411e20d")
|
ec2_instance.image_id.should.equal(EXAMPLE_AMI_ID)
|
||||||
|
|
||||||
conn = boto.cloudformation.connect_to_region("us-west-1")
|
conn = boto.cloudformation.connect_to_region("us-west-1")
|
||||||
conn.create_stack("test_stack1", template_body=dummy_template_json)
|
conn.create_stack("test_stack1", template_body=dummy_template_json)
|
||||||
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
ec2_conn = boto.ec2.connect_to_region("us-west-1")
|
||||||
reservation = ec2_conn.get_all_instances()[0]
|
reservation = ec2_conn.get_all_reservations()[0]
|
||||||
ec2_instance = reservation.instances[0]
|
ec2_instance = reservation.instances[0]
|
||||||
ec2_instance.image_id.should.equal("ami-c9c7978c")
|
ec2_instance.image_id.should.equal(EXAMPLE_AMI_ID)
|
||||||
|
|
||||||
|
|
||||||
@mock_cloudformation_deprecated()
|
@mock_cloudformation_deprecated()
|
||||||
|
@ -21,38 +21,38 @@ def test_basic_connect():
|
|||||||
@mock_ec2_deprecated
|
@mock_ec2_deprecated
|
||||||
def test_basic_decorator():
|
def test_basic_decorator():
|
||||||
conn = boto.connect_ec2("the_key", "the_secret")
|
conn = boto.connect_ec2("the_key", "the_secret")
|
||||||
list(conn.get_all_instances()).should.equal([])
|
list(conn.get_all_reservations()).should.equal([])
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.network
|
@pytest.mark.network
|
||||||
def test_context_manager():
|
def test_context_manager():
|
||||||
conn = boto.connect_ec2("the_key", "the_secret")
|
conn = boto.connect_ec2("the_key", "the_secret")
|
||||||
with pytest.raises(EC2ResponseError):
|
with pytest.raises(EC2ResponseError):
|
||||||
conn.get_all_instances()
|
conn.get_all_reservations()
|
||||||
|
|
||||||
with mock_ec2_deprecated():
|
with mock_ec2_deprecated():
|
||||||
conn = boto.connect_ec2("the_key", "the_secret")
|
conn = boto.connect_ec2("the_key", "the_secret")
|
||||||
list(conn.get_all_instances()).should.equal([])
|
list(conn.get_all_reservations()).should.equal([])
|
||||||
|
|
||||||
with pytest.raises(EC2ResponseError):
|
with pytest.raises(EC2ResponseError):
|
||||||
conn = boto.connect_ec2("the_key", "the_secret")
|
conn = boto.connect_ec2("the_key", "the_secret")
|
||||||
conn.get_all_instances()
|
conn.get_all_reservations()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.network
|
@pytest.mark.network
|
||||||
def test_decorator_start_and_stop():
|
def test_decorator_start_and_stop():
|
||||||
conn = boto.connect_ec2("the_key", "the_secret")
|
conn = boto.connect_ec2("the_key", "the_secret")
|
||||||
with pytest.raises(EC2ResponseError):
|
with pytest.raises(EC2ResponseError):
|
||||||
conn.get_all_instances()
|
conn.get_all_reservations()
|
||||||
|
|
||||||
mock = mock_ec2_deprecated()
|
mock = mock_ec2_deprecated()
|
||||||
mock.start()
|
mock.start()
|
||||||
conn = boto.connect_ec2("the_key", "the_secret")
|
conn = boto.connect_ec2("the_key", "the_secret")
|
||||||
list(conn.get_all_instances()).should.equal([])
|
list(conn.get_all_reservations()).should.equal([])
|
||||||
mock.stop()
|
mock.stop()
|
||||||
|
|
||||||
with pytest.raises(EC2ResponseError):
|
with pytest.raises(EC2ResponseError):
|
||||||
conn.get_all_instances()
|
conn.get_all_reservations()
|
||||||
|
|
||||||
|
|
||||||
@mock_ec2_deprecated
|
@mock_ec2_deprecated
|
||||||
@ -69,11 +69,11 @@ def test_decorater_wrapped_gets_set():
|
|||||||
class Tester(object):
|
class Tester(object):
|
||||||
def test_the_class(self):
|
def test_the_class(self):
|
||||||
conn = boto.connect_ec2()
|
conn = boto.connect_ec2()
|
||||||
list(conn.get_all_instances()).should.have.length_of(0)
|
list(conn.get_all_reservations()).should.have.length_of(0)
|
||||||
|
|
||||||
def test_still_the_same(self):
|
def test_still_the_same(self):
|
||||||
conn = boto.connect_ec2()
|
conn = boto.connect_ec2()
|
||||||
list(conn.get_all_instances()).should.have.length_of(0)
|
list(conn.get_all_reservations()).should.have.length_of(0)
|
||||||
|
|
||||||
|
|
||||||
@mock_s3_deprecated
|
@mock_s3_deprecated
|
||||||
|
@ -6,6 +6,7 @@ from boto.sqs.message import Message
|
|||||||
from boto.ec2 import EC2Connection
|
from boto.ec2 import EC2Connection
|
||||||
|
|
||||||
from moto import mock_sqs_deprecated, mock_ec2_deprecated
|
from moto import mock_sqs_deprecated, mock_ec2_deprecated
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
|
|
||||||
class TestNestedDecorators(unittest.TestCase):
|
class TestNestedDecorators(unittest.TestCase):
|
||||||
@ -25,4 +26,4 @@ class TestNestedDecorators(unittest.TestCase):
|
|||||||
self.setup_sqs_queue()
|
self.setup_sqs_queue()
|
||||||
|
|
||||||
conn = EC2Connection()
|
conn = EC2Connection()
|
||||||
conn.run_instances("ami-123456")
|
conn.run_instances(EXAMPLE_AMI_ID)
|
||||||
|
@ -4,6 +4,7 @@ from __future__ import unicode_literals
|
|||||||
from botocore.exceptions import ClientError
|
from botocore.exceptions import ClientError
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from unittest import SkipTest
|
||||||
|
|
||||||
import base64
|
import base64
|
||||||
import ipaddress
|
import ipaddress
|
||||||
@ -16,7 +17,7 @@ from boto.exception import EC2ResponseError
|
|||||||
from freezegun import freeze_time
|
from freezegun import freeze_time
|
||||||
import sure # noqa
|
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 import EXAMPLE_AMI_ID
|
||||||
from tests.helpers import requires_boto_gte
|
from tests.helpers import requires_boto_gte
|
||||||
|
|
||||||
@ -1664,3 +1665,15 @@ def test_describe_instance_attribute():
|
|||||||
invalid_instance_attribute=invalid_instance_attribute
|
invalid_instance_attribute=invalid_instance_attribute
|
||||||
)
|
)
|
||||||
ex.value.response["Error"]["Message"].should.equal(message)
|
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)
|
||||||
|
@ -16,6 +16,7 @@ import sure # noqa
|
|||||||
|
|
||||||
from moto import mock_elb, mock_ec2, mock_elb_deprecated, mock_ec2_deprecated
|
from moto import mock_elb, mock_ec2, mock_elb_deprecated, mock_ec2_deprecated
|
||||||
from moto.core import ACCOUNT_ID
|
from moto.core import ACCOUNT_ID
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
|
|
||||||
@mock_elb_deprecated
|
@mock_elb_deprecated
|
||||||
@ -378,7 +379,7 @@ def test_create_health_check_boto3():
|
|||||||
@mock_elb_deprecated
|
@mock_elb_deprecated
|
||||||
def test_register_instances():
|
def test_register_instances():
|
||||||
ec2_conn = boto.connect_ec2()
|
ec2_conn = boto.connect_ec2()
|
||||||
reservation = ec2_conn.run_instances("ami-1234abcd", 2)
|
reservation = ec2_conn.run_instances(EXAMPLE_AMI_ID, 2)
|
||||||
instance_id1 = reservation.instances[0].id
|
instance_id1 = reservation.instances[0].id
|
||||||
instance_id2 = reservation.instances[1].id
|
instance_id2 = reservation.instances[1].id
|
||||||
|
|
||||||
@ -397,7 +398,7 @@ def test_register_instances():
|
|||||||
@mock_elb
|
@mock_elb
|
||||||
def test_register_instances_boto3():
|
def test_register_instances_boto3():
|
||||||
ec2 = boto3.resource("ec2", region_name="us-east-1")
|
ec2 = boto3.resource("ec2", region_name="us-east-1")
|
||||||
response = ec2.create_instances(ImageId="ami-1234abcd", MinCount=2, MaxCount=2)
|
response = ec2.create_instances(ImageId=EXAMPLE_AMI_ID, MinCount=2, MaxCount=2)
|
||||||
instance_id1 = response[0].id
|
instance_id1 = response[0].id
|
||||||
instance_id2 = response[1].id
|
instance_id2 = response[1].id
|
||||||
|
|
||||||
@ -420,7 +421,7 @@ def test_register_instances_boto3():
|
|||||||
@mock_elb_deprecated
|
@mock_elb_deprecated
|
||||||
def test_deregister_instances():
|
def test_deregister_instances():
|
||||||
ec2_conn = boto.connect_ec2()
|
ec2_conn = boto.connect_ec2()
|
||||||
reservation = ec2_conn.run_instances("ami-1234abcd", 2)
|
reservation = ec2_conn.run_instances(EXAMPLE_AMI_ID, 2)
|
||||||
instance_id1 = reservation.instances[0].id
|
instance_id1 = reservation.instances[0].id
|
||||||
instance_id2 = reservation.instances[1].id
|
instance_id2 = reservation.instances[1].id
|
||||||
|
|
||||||
@ -442,7 +443,7 @@ def test_deregister_instances():
|
|||||||
@mock_elb
|
@mock_elb
|
||||||
def test_deregister_instances_boto3():
|
def test_deregister_instances_boto3():
|
||||||
ec2 = boto3.resource("ec2", region_name="us-east-1")
|
ec2 = boto3.resource("ec2", region_name="us-east-1")
|
||||||
response = ec2.create_instances(ImageId="ami-1234abcd", MinCount=2, MaxCount=2)
|
response = ec2.create_instances(ImageId=EXAMPLE_AMI_ID, MinCount=2, MaxCount=2)
|
||||||
instance_id1 = response[0].id
|
instance_id1 = response[0].id
|
||||||
instance_id2 = response[1].id
|
instance_id2 = response[1].id
|
||||||
|
|
||||||
@ -679,7 +680,7 @@ def test_set_policies_of_backend_server():
|
|||||||
@mock_elb_deprecated
|
@mock_elb_deprecated
|
||||||
def test_describe_instance_health():
|
def test_describe_instance_health():
|
||||||
ec2_conn = boto.connect_ec2()
|
ec2_conn = boto.connect_ec2()
|
||||||
reservation = ec2_conn.run_instances("ami-1234abcd", 2)
|
reservation = ec2_conn.run_instances(EXAMPLE_AMI_ID, 2)
|
||||||
instance_id1 = reservation.instances[0].id
|
instance_id1 = reservation.instances[0].id
|
||||||
instance_id2 = reservation.instances[1].id
|
instance_id2 = reservation.instances[1].id
|
||||||
|
|
||||||
@ -710,7 +711,9 @@ def test_describe_instance_health():
|
|||||||
def test_describe_instance_health_boto3():
|
def test_describe_instance_health_boto3():
|
||||||
elb = boto3.client("elb", region_name="us-east-1")
|
elb = boto3.client("elb", region_name="us-east-1")
|
||||||
ec2 = boto3.client("ec2", region_name="us-east-1")
|
ec2 = boto3.client("ec2", region_name="us-east-1")
|
||||||
instances = ec2.run_instances(MinCount=2, MaxCount=2)["Instances"]
|
instances = ec2.run_instances(ImageId=EXAMPLE_AMI_ID, MinCount=2, MaxCount=2)[
|
||||||
|
"Instances"
|
||||||
|
]
|
||||||
lb_name = "my_load_balancer"
|
lb_name = "my_load_balancer"
|
||||||
elb.create_load_balancer(
|
elb.create_load_balancer(
|
||||||
Listeners=[{"InstancePort": 80, "LoadBalancerPort": 8080, "Protocol": "HTTP"}],
|
Listeners=[{"InstancePort": 80, "LoadBalancerPort": 8080, "Protocol": "HTTP"}],
|
||||||
|
@ -10,6 +10,7 @@ import sure # noqa
|
|||||||
from moto import mock_elbv2, mock_ec2, mock_acm
|
from moto import mock_elbv2, mock_ec2, mock_acm
|
||||||
from moto.elbv2 import elbv2_backends
|
from moto.elbv2 import elbv2_backends
|
||||||
from moto.core import ACCOUNT_ID
|
from moto.core import ACCOUNT_ID
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
|
|
||||||
@mock_elbv2
|
@mock_elbv2
|
||||||
@ -643,7 +644,7 @@ def test_register_targets():
|
|||||||
)
|
)
|
||||||
response.get("TargetHealthDescriptions").should.have.length_of(0)
|
response.get("TargetHealthDescriptions").should.have.length_of(0)
|
||||||
|
|
||||||
response = ec2.create_instances(ImageId="ami-1234abcd", MinCount=2, MaxCount=2)
|
response = ec2.create_instances(ImageId=EXAMPLE_AMI_ID, MinCount=2, MaxCount=2)
|
||||||
instance_id1 = response[0].id
|
instance_id1 = response[0].id
|
||||||
instance_id2 = response[1].id
|
instance_id2 = response[1].id
|
||||||
|
|
||||||
@ -719,7 +720,7 @@ def test_stopped_instance_target():
|
|||||||
)
|
)
|
||||||
response.get("TargetHealthDescriptions").should.have.length_of(0)
|
response.get("TargetHealthDescriptions").should.have.length_of(0)
|
||||||
|
|
||||||
response = ec2.create_instances(ImageId="ami-1234abcd", MinCount=1, MaxCount=1)
|
response = ec2.create_instances(ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1)
|
||||||
instance = response[0]
|
instance = response[0]
|
||||||
|
|
||||||
target_dict = {"Id": instance.id, "Port": 500}
|
target_dict = {"Id": instance.id, "Port": 500}
|
||||||
@ -804,7 +805,7 @@ def test_terminated_instance_target():
|
|||||||
)
|
)
|
||||||
response.get("TargetHealthDescriptions").should.have.length_of(0)
|
response.get("TargetHealthDescriptions").should.have.length_of(0)
|
||||||
|
|
||||||
response = ec2.create_instances(ImageId="ami-1234abcd", MinCount=1, MaxCount=1)
|
response = ec2.create_instances(ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1)
|
||||||
instance = response[0]
|
instance = response[0]
|
||||||
|
|
||||||
target_dict = {"Id": instance.id, "Port": 500}
|
target_dict = {"Id": instance.id, "Port": 500}
|
||||||
|
@ -4,6 +4,7 @@ import sure # noqa
|
|||||||
|
|
||||||
from moto import mock_opsworks
|
from moto import mock_opsworks
|
||||||
from moto import mock_ec2
|
from moto import mock_ec2
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
|
|
||||||
@mock_opsworks
|
@mock_opsworks
|
||||||
@ -183,6 +184,7 @@ def test_ec2_integration():
|
|||||||
)["LayerId"]
|
)["LayerId"]
|
||||||
|
|
||||||
instance_id = opsworks.create_instance(
|
instance_id = opsworks.create_instance(
|
||||||
|
AmiId=EXAMPLE_AMI_ID,
|
||||||
StackId=stack_id,
|
StackId=stack_id,
|
||||||
LayerIds=[layer_id],
|
LayerIds=[layer_id],
|
||||||
InstanceType="t2.micro",
|
InstanceType="t2.micro",
|
||||||
|
@ -12,6 +12,7 @@ from botocore.exceptions import ClientError
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from moto import mock_ec2, mock_ssm
|
from moto import mock_ec2, mock_ssm
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
@ -1677,7 +1678,7 @@ def test_get_command_invocations_by_instance_tag():
|
|||||||
]
|
]
|
||||||
num_instances = 3
|
num_instances = 3
|
||||||
resp = ec2.run_instances(
|
resp = ec2.run_instances(
|
||||||
ImageId="ami-1234abcd",
|
ImageId=EXAMPLE_AMI_ID,
|
||||||
MaxCount=num_instances,
|
MaxCount=num_instances,
|
||||||
MinCount=num_instances,
|
MinCount=num_instances,
|
||||||
TagSpecifications=tag_specifications,
|
TagSpecifications=tag_specifications,
|
||||||
|
@ -3,6 +3,7 @@ import json
|
|||||||
|
|
||||||
|
|
||||||
from moto import mock_ssm, mock_cloudformation
|
from moto import mock_ssm, mock_cloudformation
|
||||||
|
from tests import EXAMPLE_AMI_ID
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
@ -15,7 +16,7 @@ def test_get_command_invocations_from_stack():
|
|||||||
"EC2Instance1": {
|
"EC2Instance1": {
|
||||||
"Type": "AWS::EC2::Instance",
|
"Type": "AWS::EC2::Instance",
|
||||||
"Properties": {
|
"Properties": {
|
||||||
"ImageId": "ami-test-image-id",
|
"ImageId": EXAMPLE_AMI_ID,
|
||||||
"KeyName": "test",
|
"KeyName": "test",
|
||||||
"InstanceType": "t2.micro",
|
"InstanceType": "t2.micro",
|
||||||
"Tags": [
|
"Tags": [
|
||||||
|
Loading…
Reference in New Issue
Block a user