| Index: third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpngateway.py
|
| diff --git a/third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpngateway.py b/third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpngateway.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..36d9a31255357e0b4b48fe8a7b08cf583be0a675
|
| --- /dev/null
|
| +++ b/third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpngateway.py
|
| @@ -0,0 +1,220 @@
|
| +# -*- coding: UTF-8 -*-
|
| +from tests.compat import OrderedDict
|
| +from tests.unit import unittest
|
| +from tests.unit import AWSMockServiceTestCase
|
| +
|
| +from boto.vpc import VPCConnection, VpnGateway, Attachment
|
| +
|
| +
|
| +class TestDescribeVpnGateways(AWSMockServiceTestCase):
|
| +
|
| + connection_class = VPCConnection
|
| +
|
| + def default_body(self):
|
| + return b"""
|
| + <DescribeVpnGatewaysResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
|
| + <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
|
| + <vpnGatewaySet>
|
| + <item>
|
| + <vpnGatewayId>vgw-8db04f81</vpnGatewayId>
|
| + <state>available</state>
|
| + <type>ipsec.1</type>
|
| + <availabilityZone>us-east-1a</availabilityZone>
|
| + <attachments>
|
| + <item>
|
| + <vpcId>vpc-1a2b3c4d</vpcId>
|
| + <state>attached</state>
|
| + </item>
|
| + </attachments>
|
| + <tagSet/>
|
| + </item>
|
| + </vpnGatewaySet>
|
| + </DescribeVpnGatewaysResponse>
|
| + """
|
| +
|
| + def test_get_all_vpn_gateways(self):
|
| + self.set_http_response(status_code=200)
|
| + api_response = self.service_connection.get_all_vpn_gateways(
|
| + 'vgw-8db04f81', filters=OrderedDict([('state', ['pending', 'available']),
|
| + ('availability-zone', 'us-east-1a')]))
|
| + self.assert_request_parameters({
|
| + 'Action': 'DescribeVpnGateways',
|
| + 'VpnGatewayId.1': 'vgw-8db04f81',
|
| + 'Filter.1.Name': 'state',
|
| + 'Filter.1.Value.1': 'pending',
|
| + 'Filter.1.Value.2': 'available',
|
| + 'Filter.2.Name': 'availability-zone',
|
| + 'Filter.2.Value.1': 'us-east-1a'},
|
| + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
|
| + 'SignatureVersion', 'Timestamp',
|
| + 'Version'])
|
| + self.assertEqual(len(api_response), 1)
|
| + self.assertIsInstance(api_response[0], VpnGateway)
|
| + self.assertEqual(api_response[0].id, 'vgw-8db04f81')
|
| +
|
| +
|
| +class TestCreateVpnGateway(AWSMockServiceTestCase):
|
| +
|
| + connection_class = VPCConnection
|
| +
|
| + def default_body(self):
|
| + return b"""
|
| + <CreateVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
|
| + <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
|
| + <vpnGateway>
|
| + <vpnGatewayId>vgw-8db04f81</vpnGatewayId>
|
| + <state>pending</state>
|
| + <type>ipsec.1</type>
|
| + <availabilityZone>us-east-1a</availabilityZone>
|
| + <attachments/>
|
| + <tagSet/>
|
| + </vpnGateway>
|
| + </CreateVpnGatewayResponse>
|
| + """
|
| +
|
| + def test_delete_vpn_gateway(self):
|
| + self.set_http_response(status_code=200)
|
| + api_response = self.service_connection.create_vpn_gateway('ipsec.1', 'us-east-1a')
|
| + self.assert_request_parameters({
|
| + 'Action': 'CreateVpnGateway',
|
| + 'AvailabilityZone': 'us-east-1a',
|
| + 'Type': 'ipsec.1'},
|
| + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
|
| + 'SignatureVersion', 'Timestamp',
|
| + 'Version'])
|
| + self.assertIsInstance(api_response, VpnGateway)
|
| + self.assertEquals(api_response.id, 'vgw-8db04f81')
|
| +
|
| +
|
| +class TestDeleteVpnGateway(AWSMockServiceTestCase):
|
| +
|
| + connection_class = VPCConnection
|
| +
|
| + def default_body(self):
|
| + return b"""
|
| + <DeleteVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
|
| + <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
|
| + <return>true</return>
|
| + </DeleteVpnGatewayResponse>
|
| + """
|
| +
|
| + def test_delete_vpn_gateway(self):
|
| + self.set_http_response(status_code=200)
|
| + api_response = self.service_connection.delete_vpn_gateway('vgw-8db04f81')
|
| + self.assert_request_parameters({
|
| + 'Action': 'DeleteVpnGateway',
|
| + 'VpnGatewayId': 'vgw-8db04f81'},
|
| + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
|
| + 'SignatureVersion', 'Timestamp',
|
| + 'Version'])
|
| + self.assertEqual(api_response, True)
|
| +
|
| +
|
| +class TestAttachVpnGateway(AWSMockServiceTestCase):
|
| +
|
| + connection_class = VPCConnection
|
| +
|
| + def default_body(self):
|
| + return b"""
|
| + <AttachVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
|
| + <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
|
| + <attachment>
|
| + <vpcId>vpc-1a2b3c4d</vpcId>
|
| + <state>attaching</state>
|
| + </attachment>
|
| + </AttachVpnGatewayResponse>
|
| + """
|
| +
|
| + def test_attach_vpn_gateway(self):
|
| + self.set_http_response(status_code=200)
|
| + api_response = self.service_connection.attach_vpn_gateway('vgw-8db04f81', 'vpc-1a2b3c4d')
|
| + self.assert_request_parameters({
|
| + 'Action': 'AttachVpnGateway',
|
| + 'VpnGatewayId': 'vgw-8db04f81',
|
| + 'VpcId': 'vpc-1a2b3c4d'},
|
| + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
|
| + 'SignatureVersion', 'Timestamp',
|
| + 'Version'])
|
| + self.assertIsInstance(api_response, Attachment)
|
| + self.assertEquals(api_response.vpc_id, 'vpc-1a2b3c4d')
|
| + self.assertEquals(api_response.state, 'attaching')
|
| +
|
| +
|
| +class TestDetachVpnGateway(AWSMockServiceTestCase):
|
| +
|
| + connection_class = VPCConnection
|
| +
|
| + def default_body(self):
|
| + return b"""
|
| + <DetachVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
|
| + <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
|
| + <return>true</return>
|
| + </DetachVpnGatewayResponse>
|
| + """
|
| +
|
| + def test_detach_vpn_gateway(self):
|
| + self.set_http_response(status_code=200)
|
| + api_response = self.service_connection.detach_vpn_gateway('vgw-8db04f81', 'vpc-1a2b3c4d')
|
| + self.assert_request_parameters({
|
| + 'Action': 'DetachVpnGateway',
|
| + 'VpnGatewayId': 'vgw-8db04f81',
|
| + 'VpcId': 'vpc-1a2b3c4d'},
|
| + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
|
| + 'SignatureVersion', 'Timestamp',
|
| + 'Version'])
|
| + self.assertEqual(api_response, True)
|
| +
|
| +
|
| +class TestDisableVgwRoutePropagation(AWSMockServiceTestCase):
|
| +
|
| + connection_class = VPCConnection
|
| +
|
| + def default_body(self):
|
| + return b"""
|
| + <DisableVgwRoutePropagationResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
|
| + <requestId>4f35a1b2-c2c3-4093-b51f-abb9d7311990</requestId>
|
| + <return>true</return>
|
| + </DisableVgwRoutePropagationResponse>
|
| + """
|
| +
|
| + def test_disable_vgw_route_propagation(self):
|
| + self.set_http_response(status_code=200)
|
| + api_response = self.service_connection.disable_vgw_route_propagation(
|
| + 'rtb-c98a35a0', 'vgw-d8e09e8a')
|
| + self.assert_request_parameters({
|
| + 'Action': 'DisableVgwRoutePropagation',
|
| + 'GatewayId': 'vgw-d8e09e8a',
|
| + 'RouteTableId': 'rtb-c98a35a0'},
|
| + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
|
| + 'SignatureVersion', 'Timestamp',
|
| + 'Version'])
|
| + self.assertEqual(api_response, True)
|
| +
|
| +
|
| +class TestEnableVgwRoutePropagation(AWSMockServiceTestCase):
|
| +
|
| + connection_class = VPCConnection
|
| +
|
| + def default_body(self):
|
| + return b"""
|
| + <DisableVgwRoutePropagationResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
|
| + <requestId>4f35a1b2-c2c3-4093-b51f-abb9d7311990</requestId>
|
| + <return>true</return>
|
| + </DisableVgwRoutePropagationResponse>
|
| + """
|
| +
|
| + def test_enable_vgw_route_propagation(self):
|
| + self.set_http_response(status_code=200)
|
| + api_response = self.service_connection.enable_vgw_route_propagation(
|
| + 'rtb-c98a35a0', 'vgw-d8e09e8a')
|
| + self.assert_request_parameters({
|
| + 'Action': 'EnableVgwRoutePropagation',
|
| + 'GatewayId': 'vgw-d8e09e8a',
|
| + 'RouteTableId': 'rtb-c98a35a0'},
|
| + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
|
| + 'SignatureVersion', 'Timestamp',
|
| + 'Version'])
|
| + self.assertEqual(api_response, True)
|
| +
|
| +if __name__ == '__main__':
|
| + unittest.main()
|
|
|