111 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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)
 |