Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Unified Diff: third_party/gsutil/third_party/boto/tests/unit/vpc/test_routetable.py

Issue 1377933002: [catapult] - Copy Telemetry's gsutilz over to third_party. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: Rename to gsutil. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/gsutil/third_party/boto/tests/unit/vpc/test_routetable.py
diff --git a/third_party/gsutil/third_party/boto/tests/unit/vpc/test_routetable.py b/third_party/gsutil/third_party/boto/tests/unit/vpc/test_routetable.py
new file mode 100644
index 0000000000000000000000000000000000000000..c90e56c4f67882e67a504c8cb9c12858c0adf7e6
--- /dev/null
+++ b/third_party/gsutil/third_party/boto/tests/unit/vpc/test_routetable.py
@@ -0,0 +1,440 @@
+from tests.unit import unittest
+from tests.unit import AWSMockServiceTestCase
+
+from boto.vpc import VPCConnection, RouteTable
+
+
+class TestDescribeRouteTables(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <DescribeRouteTablesResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>6f570b0b-9c18-4b07-bdec-73740dcf861a</requestId>
+ <routeTableSet>
+ <item>
+ <routeTableId>rtb-13ad487a</routeTableId>
+ <vpcId>vpc-11ad4878</vpcId>
+ <routeSet>
+ <item>
+ <destinationCidrBlock>10.0.0.0/22</destinationCidrBlock>
+ <gatewayId>local</gatewayId>
+ <state>active</state>
+ <origin>CreateRouteTable</origin>
+ </item>
+ </routeSet>
+ <associationSet>
+ <item>
+ <routeTableAssociationId>rtbassoc-12ad487b</routeTableAssociationId>
+ <routeTableId>rtb-13ad487a</routeTableId>
+ <main>true</main>
+ </item>
+ </associationSet>
+ <tagSet/>
+ </item>
+ <item>
+ <routeTableId>rtb-f9ad4890</routeTableId>
+ <vpcId>vpc-11ad4878</vpcId>
+ <routeSet>
+ <item>
+ <destinationCidrBlock>10.0.0.0/22</destinationCidrBlock>
+ <gatewayId>local</gatewayId>
+ <state>active</state>
+ <origin>CreateRouteTable</origin>
+ </item>
+ <item>
+ <destinationCidrBlock>0.0.0.0/0</destinationCidrBlock>
+ <gatewayId>igw-eaad4883</gatewayId>
+ <state>active</state>
+ </item>
+ <item>
+ <destinationCidrBlock>10.0.0.0/21</destinationCidrBlock>
+ <networkInterfaceId>eni-884ec1d1</networkInterfaceId>
+ <state>blackhole</state>
+ <origin>CreateRoute</origin>
+ </item>
+ <item>
+ <destinationCidrBlock>11.0.0.0/22</destinationCidrBlock>
+ <vpcPeeringConnectionId>pcx-efc52b86</vpcPeeringConnectionId>
+ <state>blackhole</state>
+ <origin>CreateRoute</origin>
+ </item>
+ </routeSet>
+ <associationSet>
+ <item>
+ <routeTableAssociationId>rtbassoc-faad4893</routeTableAssociationId>
+ <routeTableId>rtb-f9ad4890</routeTableId>
+ <subnetId>subnet-15ad487c</subnetId>
+ </item>
+ </associationSet>
+ <tagSet/>
+ </item>
+ </routeTableSet>
+ </DescribeRouteTablesResponse>
+ """
+
+ def test_get_all_route_tables(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.get_all_route_tables(
+ ['rtb-13ad487a', 'rtb-f9ad4890'], filters=[('route.state', 'active')])
+ self.assert_request_parameters({
+ 'Action': 'DescribeRouteTables',
+ 'RouteTableId.1': 'rtb-13ad487a',
+ 'RouteTableId.2': 'rtb-f9ad4890',
+ 'Filter.1.Name': 'route.state',
+ 'Filter.1.Value.1': 'active'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(len(api_response), 2)
+ self.assertIsInstance(api_response[0], RouteTable)
+ self.assertEquals(api_response[0].id, 'rtb-13ad487a')
+ self.assertEquals(len(api_response[0].routes), 1)
+ self.assertEquals(api_response[0].routes[0].destination_cidr_block, '10.0.0.0/22')
+ self.assertEquals(api_response[0].routes[0].gateway_id, 'local')
+ self.assertEquals(api_response[0].routes[0].state, 'active')
+ self.assertEquals(len(api_response[0].associations), 1)
+ self.assertEquals(api_response[0].associations[0].id, 'rtbassoc-12ad487b')
+ self.assertEquals(api_response[0].associations[0].route_table_id, 'rtb-13ad487a')
+ self.assertIsNone(api_response[0].associations[0].subnet_id)
+ self.assertEquals(api_response[0].associations[0].main, True)
+ self.assertEquals(api_response[1].id, 'rtb-f9ad4890')
+ self.assertEquals(len(api_response[1].routes), 4)
+ self.assertEquals(api_response[1].routes[0].destination_cidr_block, '10.0.0.0/22')
+ self.assertEquals(api_response[1].routes[0].gateway_id, 'local')
+ self.assertEquals(api_response[1].routes[0].state, 'active')
+ self.assertEquals(api_response[1].routes[1].destination_cidr_block, '0.0.0.0/0')
+ self.assertEquals(api_response[1].routes[1].gateway_id, 'igw-eaad4883')
+ self.assertEquals(api_response[1].routes[1].state, 'active')
+ self.assertEquals(api_response[1].routes[2].destination_cidr_block, '10.0.0.0/21')
+ self.assertEquals(api_response[1].routes[2].interface_id, 'eni-884ec1d1')
+ self.assertEquals(api_response[1].routes[2].state, 'blackhole')
+ self.assertEquals(api_response[1].routes[3].destination_cidr_block, '11.0.0.0/22')
+ self.assertEquals(api_response[1].routes[3].vpc_peering_connection_id, 'pcx-efc52b86')
+ self.assertEquals(api_response[1].routes[3].state, 'blackhole')
+ self.assertEquals(len(api_response[1].associations), 1)
+ self.assertEquals(api_response[1].associations[0].id, 'rtbassoc-faad4893')
+ self.assertEquals(api_response[1].associations[0].route_table_id, 'rtb-f9ad4890')
+ self.assertEquals(api_response[1].associations[0].subnet_id, 'subnet-15ad487c')
+ self.assertEquals(api_response[1].associations[0].main, False)
+
+
+class TestAssociateRouteTable(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <AssociateRouteTableResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <associationId>rtbassoc-f8ad4891</associationId>
+ </AssociateRouteTableResponse>
+ """
+
+ def test_associate_route_table(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.associate_route_table(
+ 'rtb-e4ad488d', 'subnet-15ad487c')
+ self.assert_request_parameters({
+ 'Action': 'AssociateRouteTable',
+ 'RouteTableId': 'rtb-e4ad488d',
+ 'SubnetId': 'subnet-15ad487c'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, 'rtbassoc-f8ad4891')
+
+
+class TestDisassociateRouteTable(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <DisassociateRouteTableResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <return>true</return>
+ </DisassociateRouteTableResponse>
+ """
+
+ def test_disassociate_route_table(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.disassociate_route_table('rtbassoc-fdad4894')
+ self.assert_request_parameters({
+ 'Action': 'DisassociateRouteTable',
+ 'AssociationId': 'rtbassoc-fdad4894'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+
+class TestCreateRouteTable(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <CreateRouteTableResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <routeTable>
+ <routeTableId>rtb-f9ad4890</routeTableId>
+ <vpcId>vpc-11ad4878</vpcId>
+ <routeSet>
+ <item>
+ <destinationCidrBlock>10.0.0.0/22</destinationCidrBlock>
+ <gatewayId>local</gatewayId>
+ <state>active</state>
+ </item>
+ </routeSet>
+ <associationSet/>
+ <tagSet/>
+ </routeTable>
+ </CreateRouteTableResponse>
+ """
+
+ def test_create_route_table(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_route_table('vpc-11ad4878')
+ self.assert_request_parameters({
+ 'Action': 'CreateRouteTable',
+ 'VpcId': 'vpc-11ad4878'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertIsInstance(api_response, RouteTable)
+ self.assertEquals(api_response.id, 'rtb-f9ad4890')
+ self.assertEquals(len(api_response.routes), 1)
+ self.assertEquals(api_response.routes[0].destination_cidr_block, '10.0.0.0/22')
+ self.assertEquals(api_response.routes[0].gateway_id, 'local')
+ self.assertEquals(api_response.routes[0].state, 'active')
+
+
+class TestDeleteRouteTable(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <DeleteRouteTableResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <return>true</return>
+ </DeleteRouteTableResponse>
+ """
+
+ def test_delete_route_table(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.delete_route_table('rtb-e4ad488d')
+ self.assert_request_parameters({
+ 'Action': 'DeleteRouteTable',
+ 'RouteTableId': 'rtb-e4ad488d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+
+class TestReplaceRouteTableAssociation(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <ReplaceRouteTableAssociationResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <newAssociationId>rtbassoc-faad4893</newAssociationId>
+ </ReplaceRouteTableAssociationResponse>
+ """
+
+ def test_replace_route_table_assocation(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.replace_route_table_assocation(
+ 'rtbassoc-faad4893', 'rtb-f9ad4890')
+ self.assert_request_parameters({
+ 'Action': 'ReplaceRouteTableAssociation',
+ 'AssociationId': 'rtbassoc-faad4893',
+ 'RouteTableId': 'rtb-f9ad4890'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_replace_route_table_association_with_assoc(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.replace_route_table_association_with_assoc(
+ 'rtbassoc-faad4893', 'rtb-f9ad4890')
+ self.assert_request_parameters({
+ 'Action': 'ReplaceRouteTableAssociation',
+ 'AssociationId': 'rtbassoc-faad4893',
+ 'RouteTableId': 'rtb-f9ad4890'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, 'rtbassoc-faad4893')
+
+
+class TestCreateRoute(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <CreateRouteResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <return>true</return>
+ </CreateRouteResponse>
+ """
+
+ def test_create_route_gateway(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_route(
+ 'rtb-e4ad488d', '0.0.0.0/0', gateway_id='igw-eaad4883')
+ self.assert_request_parameters({
+ 'Action': 'CreateRoute',
+ 'RouteTableId': 'rtb-e4ad488d',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'GatewayId': 'igw-eaad4883'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_create_route_instance(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_route(
+ 'rtb-g8ff4ea2', '0.0.0.0/0', instance_id='i-1a2b3c4d')
+ self.assert_request_parameters({
+ 'Action': 'CreateRoute',
+ 'RouteTableId': 'rtb-g8ff4ea2',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'InstanceId': 'i-1a2b3c4d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_create_route_interface(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_route(
+ 'rtb-g8ff4ea2', '0.0.0.0/0', interface_id='eni-1a2b3c4d')
+ self.assert_request_parameters({
+ 'Action': 'CreateRoute',
+ 'RouteTableId': 'rtb-g8ff4ea2',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'NetworkInterfaceId': 'eni-1a2b3c4d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_create_route_vpc_peering_connection(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_route(
+ 'rtb-g8ff4ea2', '0.0.0.0/0', vpc_peering_connection_id='pcx-1a2b3c4d')
+ self.assert_request_parameters({
+ 'Action': 'CreateRoute',
+ 'RouteTableId': 'rtb-g8ff4ea2',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'VpcPeeringConnectionId': 'pcx-1a2b3c4d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+
+class TestReplaceRoute(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <CreateRouteResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <return>true</return>
+ </CreateRouteResponse>
+ """
+
+ def test_replace_route_gateway(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.replace_route(
+ 'rtb-e4ad488d', '0.0.0.0/0', gateway_id='igw-eaad4883')
+ self.assert_request_parameters({
+ 'Action': 'ReplaceRoute',
+ 'RouteTableId': 'rtb-e4ad488d',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'GatewayId': 'igw-eaad4883'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_replace_route_instance(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.replace_route(
+ 'rtb-g8ff4ea2', '0.0.0.0/0', instance_id='i-1a2b3c4d')
+ self.assert_request_parameters({
+ 'Action': 'ReplaceRoute',
+ 'RouteTableId': 'rtb-g8ff4ea2',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'InstanceId': 'i-1a2b3c4d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_replace_route_interface(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.replace_route(
+ 'rtb-g8ff4ea2', '0.0.0.0/0', interface_id='eni-1a2b3c4d')
+ self.assert_request_parameters({
+ 'Action': 'ReplaceRoute',
+ 'RouteTableId': 'rtb-g8ff4ea2',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'NetworkInterfaceId': 'eni-1a2b3c4d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_replace_route_vpc_peering_connection(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.replace_route(
+ 'rtb-g8ff4ea2', '0.0.0.0/0', vpc_peering_connection_id='pcx-1a2b3c4d')
+ self.assert_request_parameters({
+ 'Action': 'ReplaceRoute',
+ 'RouteTableId': 'rtb-g8ff4ea2',
+ 'DestinationCidrBlock': '0.0.0.0/0',
+ 'VpcPeeringConnectionId': 'pcx-1a2b3c4d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+
+class TestDeleteRoute(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <DeleteRouteTableResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
+ <return>true</return>
+ </DeleteRouteTableResponse>
+ """
+
+ def test_delete_route(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.delete_route('rtb-e4ad488d', '172.16.1.0/24')
+ self.assert_request_parameters({
+ 'Action': 'DeleteRoute',
+ 'RouteTableId': 'rtb-e4ad488d',
+ 'DestinationCidrBlock': '172.16.1.0/24'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698