moto/tests/test_apigateway/test_apigateway_vpclink.py
2022-02-08 20:12:51 -01:00

111 lines
3.1 KiB
Python

import boto3
import pytest
from botocore.exceptions import ClientError
from moto import mock_apigateway
@mock_apigateway
def test_get_vpc_links_empty():
client = boto3.client("apigateway", region_name="eu-west-1")
resp = client.get_vpc_links()
resp.should.have.key("items").equals([])
@mock_apigateway
def test_create_vpc_link():
client = boto3.client("apigateway", region_name="eu-west-1")
resp = client.create_vpc_link(
name="vpcl",
description="my first vpc link",
targetArns=["elb:target:arn"],
tags={"key1": "value1"},
)
resp.should.have.key("id")
resp.should.have.key("name").equals("vpcl")
resp.should.have.key("description").equals("my first vpc link")
resp.should.have.key("targetArns").equals(["elb:target:arn"])
resp.should.have.key("status").equals("AVAILABLE")
resp.should.have.key("tags").equals({"key1": "value1"})
@mock_apigateway
def test_get_vpc_link():
client = boto3.client("apigateway", region_name="eu-west-1")
vpc_link_id = client.create_vpc_link(
name="vpcl",
description="my first vpc link",
targetArns=["elb:target:arn"],
tags={"key1": "value1"},
)["id"]
resp = client.get_vpc_link(vpcLinkId=vpc_link_id)
resp.should.have.key("id")
resp.should.have.key("name").equals("vpcl")
resp.should.have.key("description").equals("my first vpc link")
resp.should.have.key("targetArns").equals(["elb:target:arn"])
resp.should.have.key("status").equals("AVAILABLE")
resp.should.have.key("tags").equals({"key1": "value1"})
@mock_apigateway
def test_get_vpc_link_unknown():
client = boto3.client("apigateway", region_name="ap-southeast-1")
with pytest.raises(ClientError) as exc:
client.get_vpc_link(vpcLinkId="unknown")
err = exc.value.response["Error"]
err["Code"].should.equal("NotFoundException")
err["Message"].should.equal("VPCLink not found")
@mock_apigateway
def test_get_vpc_links():
client = boto3.client("apigateway", region_name="eu-west-1")
vpc_link_id = client.create_vpc_link(
name="vpcl",
description="my first vpc link",
targetArns=["elb:target:arn"],
tags={"key1": "value1"},
)["id"]
links = client.get_vpc_links()["items"]
links.should.have.length_of(1)
links[0]["id"].should.equal(vpc_link_id)
client.create_vpc_link(
name="vpcl2",
description="my first vpc link",
targetArns=["elb:target:arn"],
tags={"key2": "value2"},
)
links = client.get_vpc_links()["items"]
links.should.have.length_of(2)
@mock_apigateway
def test_delete_vpc_link():
client = boto3.client("apigateway", region_name="eu-north-1")
vpc_link_id = client.create_vpc_link(
name="vpcl",
description="my first vpc link",
targetArns=["elb:target:arn"],
tags={"key1": "value1"},
)["id"]
links = client.get_vpc_links()["items"]
links.should.have.length_of(1)
client.delete_vpc_link(vpcLinkId=vpc_link_id)
links = client.get_vpc_links()["items"]
links.should.have.length_of(0)