Merge pull request #2555 from catherinetcai/feature/ec2-vpc-classic-link
Adds basic implementations for vpc-classic-link and vpc-classic-link-dns-support - Redo
This commit is contained in:
commit
028aafd05b
4 changed files with 312 additions and 11 deletions
|
|
@ -678,3 +678,150 @@ def test_create_vpc_with_invalid_cidr_range():
|
|||
"An error occurred (InvalidVpc.Range) when calling the CreateVpc "
|
||||
"operation: The CIDR '{}' is invalid.".format(vpc_cidr_block)
|
||||
)
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_enable_vpc_classic_link():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.1.0.0/16")
|
||||
|
||||
response = ec2.meta.client.enable_vpc_classic_link(VpcId=vpc.id)
|
||||
assert response.get("Return").should.be.true
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_enable_vpc_classic_link_failure():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.90.0.0/16")
|
||||
|
||||
response = ec2.meta.client.enable_vpc_classic_link(VpcId=vpc.id)
|
||||
assert response.get("Return").should.be.false
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_disable_vpc_classic_link():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16")
|
||||
|
||||
ec2.meta.client.enable_vpc_classic_link(VpcId=vpc.id)
|
||||
response = ec2.meta.client.disable_vpc_classic_link(VpcId=vpc.id)
|
||||
assert response.get("Return").should.be.false
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_describe_classic_link_enabled():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16")
|
||||
|
||||
ec2.meta.client.enable_vpc_classic_link(VpcId=vpc.id)
|
||||
response = ec2.meta.client.describe_vpc_classic_link(VpcIds=[vpc.id])
|
||||
assert response.get("Vpcs")[0].get("ClassicLinkEnabled").should.be.true
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_describe_classic_link_disabled():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.90.0.0/16")
|
||||
|
||||
response = ec2.meta.client.describe_vpc_classic_link(VpcIds=[vpc.id])
|
||||
assert response.get("Vpcs")[0].get("ClassicLinkEnabled").should.be.false
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_describe_classic_link_multiple():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc1 = ec2.create_vpc(CidrBlock="10.90.0.0/16")
|
||||
vpc2 = ec2.create_vpc(CidrBlock="10.0.0.0/16")
|
||||
|
||||
ec2.meta.client.enable_vpc_classic_link(VpcId=vpc2.id)
|
||||
response = ec2.meta.client.describe_vpc_classic_link(VpcIds=[vpc1.id, vpc2.id])
|
||||
expected = [
|
||||
{"VpcId": vpc1.id, "ClassicLinkDnsSupported": False},
|
||||
{"VpcId": vpc2.id, "ClassicLinkDnsSupported": True},
|
||||
]
|
||||
|
||||
# Ensure response is sorted, because they can come in random order
|
||||
assert response.get("Vpcs").sort(key=lambda x: x["VpcId"]) == expected.sort(
|
||||
key=lambda x: x["VpcId"]
|
||||
)
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_enable_vpc_classic_link_dns_support():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.1.0.0/16")
|
||||
|
||||
response = ec2.meta.client.enable_vpc_classic_link_dns_support(VpcId=vpc.id)
|
||||
assert response.get("Return").should.be.true
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_disable_vpc_classic_link_dns_support():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16")
|
||||
|
||||
ec2.meta.client.enable_vpc_classic_link_dns_support(VpcId=vpc.id)
|
||||
response = ec2.meta.client.disable_vpc_classic_link_dns_support(VpcId=vpc.id)
|
||||
assert response.get("Return").should.be.false
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_describe_classic_link_dns_support_enabled():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16")
|
||||
|
||||
ec2.meta.client.enable_vpc_classic_link_dns_support(VpcId=vpc.id)
|
||||
response = ec2.meta.client.describe_vpc_classic_link_dns_support(VpcIds=[vpc.id])
|
||||
assert response.get("Vpcs")[0].get("ClassicLinkDnsSupported").should.be.true
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_describe_classic_link_dns_support_disabled():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc = ec2.create_vpc(CidrBlock="10.90.0.0/16")
|
||||
|
||||
response = ec2.meta.client.describe_vpc_classic_link_dns_support(VpcIds=[vpc.id])
|
||||
assert response.get("Vpcs")[0].get("ClassicLinkDnsSupported").should.be.false
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_describe_classic_link_dns_support_multiple():
|
||||
ec2 = boto3.resource("ec2", region_name="us-west-1")
|
||||
|
||||
# Create VPC
|
||||
vpc1 = ec2.create_vpc(CidrBlock="10.90.0.0/16")
|
||||
vpc2 = ec2.create_vpc(CidrBlock="10.0.0.0/16")
|
||||
|
||||
ec2.meta.client.enable_vpc_classic_link_dns_support(VpcId=vpc2.id)
|
||||
response = ec2.meta.client.describe_vpc_classic_link_dns_support(
|
||||
VpcIds=[vpc1.id, vpc2.id]
|
||||
)
|
||||
expected = [
|
||||
{"VpcId": vpc1.id, "ClassicLinkDnsSupported": False},
|
||||
{"VpcId": vpc2.id, "ClassicLinkDnsSupported": True},
|
||||
]
|
||||
|
||||
# Ensure response is sorted, because they can come in random order
|
||||
assert response.get("Vpcs").sort(key=lambda x: x["VpcId"]) == expected.sort(
|
||||
key=lambda x: x["VpcId"]
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue