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

Unified Diff: third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpc.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_vpc.py
diff --git a/third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpc.py b/third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpc.py
new file mode 100644
index 0000000000000000000000000000000000000000..f8adaf8aa652342a63e72ed2542fe0ee9e8f6fe1
--- /dev/null
+++ b/third_party/gsutil/third_party/boto/tests/unit/vpc/test_vpc.py
@@ -0,0 +1,367 @@
+# -*- coding: UTF-8 -*-
+from tests.unit import unittest
+from tests.unit import AWSMockServiceTestCase
+
+from boto.vpc import VPCConnection, VPC
+from boto.ec2.securitygroup import SecurityGroup
+
+
+DESCRIBE_VPCS = b'''<?xml version="1.0" encoding="UTF-8"?>
+<DescribeVpcsResponse xmlns="http://ec2.amazonaws.com/doc/2013-02-01/">
+ <requestId>623040d1-b51c-40bc-8080-93486f38d03d</requestId>
+ <vpcSet>
+ <item>
+ <vpcId>vpc-12345678</vpcId>
+ <state>available</state>
+ <cidrBlock>172.16.0.0/16</cidrBlock>
+ <dhcpOptionsId>dopt-12345678</dhcpOptionsId>
+ <instanceTenancy>default</instanceTenancy>
+ <isDefault>false</isDefault>
+ </item>
+ </vpcSet>
+</DescribeVpcsResponse>'''
+
+
+class TestDescribeVPCs(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return DESCRIBE_VPCS
+
+ def test_get_vpcs(self):
+ self.set_http_response(status_code=200)
+
+ api_response = self.service_connection.get_all_vpcs()
+ self.assertEqual(len(api_response), 1)
+
+ vpc = api_response[0]
+ self.assertFalse(vpc.is_default)
+ self.assertEqual(vpc.instance_tenancy, 'default')
+
+
+class TestCreateVpc(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <CreateVpcResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
+ <vpc>
+ <vpcId>vpc-1a2b3c4d</vpcId>
+ <state>pending</state>
+ <cidrBlock>10.0.0.0/16</cidrBlock>
+ <dhcpOptionsId>dopt-1a2b3c4d2</dhcpOptionsId>
+ <instanceTenancy>default</instanceTenancy>
+ <tagSet/>
+ </vpc>
+ </CreateVpcResponse>
+ """
+
+ def test_create_vpc(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_vpc('10.0.0.0/16', 'default')
+ self.assert_request_parameters({
+ 'Action': 'CreateVpc',
+ 'InstanceTenancy': 'default',
+ 'CidrBlock': '10.0.0.0/16'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertIsInstance(api_response, VPC)
+ self.assertEquals(api_response.id, 'vpc-1a2b3c4d')
+ self.assertEquals(api_response.state, 'pending')
+ self.assertEquals(api_response.cidr_block, '10.0.0.0/16')
+ self.assertEquals(api_response.dhcp_options_id, 'dopt-1a2b3c4d2')
+ self.assertEquals(api_response.instance_tenancy, 'default')
+
+
+class TestDeleteVpc(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <DeleteVpcResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
+ <return>true</return>
+ </DeleteVpcResponse>
+ """
+
+ def test_delete_vpc(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.delete_vpc('vpc-1a2b3c4d')
+ self.assert_request_parameters({
+ 'Action': 'DeleteVpc',
+ 'VpcId': 'vpc-1a2b3c4d'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+
+class TestModifyVpcAttribute(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <ModifyVpcAttributeResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
+ <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
+ <return>true</return>
+ </ModifyVpcAttributeResponse>
+ """
+
+ def test_modify_vpc_attribute_dns_support(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.modify_vpc_attribute(
+ 'vpc-1a2b3c4d', enable_dns_support=True)
+ self.assert_request_parameters({
+ 'Action': 'ModifyVpcAttribute',
+ 'VpcId': 'vpc-1a2b3c4d',
+ 'EnableDnsSupport.Value': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+ def test_modify_vpc_attribute_dns_hostnames(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.modify_vpc_attribute(
+ 'vpc-1a2b3c4d', enable_dns_hostnames=True)
+ self.assert_request_parameters({
+ 'Action': 'ModifyVpcAttribute',
+ 'VpcId': 'vpc-1a2b3c4d',
+ 'EnableDnsHostnames.Value': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp',
+ 'Version'])
+ self.assertEquals(api_response, True)
+
+
+class TestGetAllClassicLinkVpc(AWSMockServiceTestCase):
+
+ connection_class = VPCConnection
+
+ def default_body(self):
+ return b"""
+ <DescribeVpcClassicLinkResponse xmlns="http://ec2.amazonaws.com/doc/2014-09-01/">
+ <requestId>2484655d-d669-4950-bf55-7ba559805d36</requestId>
+ <vpcSet>
+ <item>
+ <vpcId>vpc-6226ab07</vpcId>
+ <classicLinkEnabled>false</classicLinkEnabled>
+ <tagSet>
+ <item>
+ <key>Name</key>
+ <value>hello</value>[
+ </item>
+ </tagSet>
+ </item>
+ <item>
+ <vpcId>vpc-9d24f8f8</vpcId>
+ <classicLinkEnabled>true</classicLinkEnabled>
+ <tagSet/>
+ </item>
+ </vpcSet>
+ </DescribeVpcClassicLinkResponse>
+ """
+
+ def test_get_all_classic_link_vpcs(self):
+ self.set_http_response(status_code=200)
+ response = self.service_connection.get_all_classic_link_vpcs()
+ self.assertEqual(len(response), 2)
+ vpc = response[0]
+ self.assertEqual(vpc.id, 'vpc-6226ab07')
+ self.assertEqual(vpc.classic_link_enabled, 'false')
+ self.assertEqual(vpc.tags, {'Name': 'hello'})
+
+ def test_get_all_classic_link_vpcs_params(self):
+ self.set_http_response(status_code=200)
+ self.service_connection.get_all_classic_link_vpcs(
+ vpc_ids=['id1', 'id2'],
+ filters={'GroupId': 'sg-9b4343fe'},
+ dry_run=True,
+ )
+ self.assert_request_parameters({
+ 'Action': 'DescribeVpcClassicLink',
+ 'VpcId.1': 'id1',
+ 'VpcId.2': 'id2',
+ 'Filter.1.Name': 'GroupId',
+ 'Filter.1.Value.1': 'sg-9b4343fe',
+ 'DryRun': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp', 'Version'])
+
+
+class TestVpcClassicLink(AWSMockServiceTestCase):
+ connection_class = VPCConnection
+
+ def setUp(self):
+ super(TestVpcClassicLink, self).setUp()
+ self.vpc = VPC(self.service_connection)
+ self.vpc_id = 'myid'
+ self.vpc.id = self.vpc_id
+
+
+class TestAttachClassicLinkVpc(TestVpcClassicLink):
+ def default_body(self):
+ return b"""
+ <AttachClassicLinkVpcResponse xmlns="http://ec2.amazonaws.com/doc/2014-09-01/">
+ <requestId>88673bdf-cd16-40bf-87a1-6132fec47257</requestId>
+ <return>true</return>
+ </AttachClassicLinkVpcResponse>
+ """
+
+ def test_attach_classic_link_instance_string_groups(self):
+ groups = ['sg-foo', 'sg-bar']
+
+ self.set_http_response(status_code=200)
+ response = self.vpc.attach_classic_instance(
+ instance_id='my_instance_id',
+ groups=groups,
+ dry_run=True
+ )
+ self.assertTrue(response)
+ self.assert_request_parameters({
+ 'Action': 'AttachClassicLinkVpc',
+ 'VpcId': self.vpc_id,
+ 'InstanceId': 'my_instance_id',
+ 'SecurityGroupId.1': 'sg-foo',
+ 'SecurityGroupId.2': 'sg-bar',
+ 'DryRun': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp', 'Version'])
+
+ def test_attach_classic_link_instance_object_groups(self):
+ sec_group_1 = SecurityGroup()
+ sec_group_1.id = 'sg-foo'
+
+ sec_group_2 = SecurityGroup()
+ sec_group_2.id = 'sg-bar'
+
+ groups = [sec_group_1, sec_group_2]
+
+ self.set_http_response(status_code=200)
+ response = self.vpc.attach_classic_instance(
+ instance_id='my_instance_id',
+ groups=groups,
+ dry_run=True
+ )
+ self.assertTrue(response)
+ self.assert_request_parameters({
+ 'Action': 'AttachClassicLinkVpc',
+ 'VpcId': self.vpc_id,
+ 'InstanceId': 'my_instance_id',
+ 'SecurityGroupId.1': 'sg-foo',
+ 'SecurityGroupId.2': 'sg-bar',
+ 'DryRun': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp', 'Version'])
+
+
+class TestDetachClassicLinkVpc(TestVpcClassicLink):
+ def default_body(self):
+ return b"""
+ <DetachClassicLinkVpcResponse xmlns="http://ec2.amazonaws.com/doc/2014-09-01/">
+ <requestId>5565033d-1321-4eef-b121-6aa46f152ed7</requestId>
+ <return>true</return>
+ </DetachClassicLinkVpcResponse>
+ """
+
+ def test_detach_classic_link_instance(self):
+ self.set_http_response(status_code=200)
+ response = self.vpc.detach_classic_instance(
+ instance_id='my_instance_id',
+ dry_run=True
+ )
+ self.assertTrue(response)
+ self.assert_request_parameters({
+ 'Action': 'DetachClassicLinkVpc',
+ 'VpcId': self.vpc_id,
+ 'InstanceId': 'my_instance_id',
+ 'DryRun': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp', 'Version'])
+
+
+class TestEnableClassicLinkVpc(TestVpcClassicLink):
+ def default_body(self):
+ return b"""
+ <EnableVpcClassicLinkResponse xmlns="http://ec2.amazonaws.com/doc/2014-09-01/">
+ <requestId>4ab2b2b3-a267-4366-a070-bab853b5927d</requestId>
+ <return>true</return>
+ </EnableVpcClassicLinkResponse>
+ """
+
+ def test_enable_classic_link(self):
+ self.set_http_response(status_code=200)
+ response = self.vpc.enable_classic_link(
+ dry_run=True
+ )
+ self.assertTrue(response)
+ self.assert_request_parameters({
+ 'Action': 'EnableVpcClassicLink',
+ 'VpcId': self.vpc_id,
+ 'DryRun': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp', 'Version'])
+
+
+class TestDisableClassicLinkVpc(TestVpcClassicLink):
+ def default_body(self):
+ return b"""
+ <DisableVpcClassicLinkResponse xmlns="http://ec2.amazonaws.com/doc/2014-09-01/">
+ <requestId>4ab2b2b3-a267-4366-a070-bab853b5927d</requestId>
+ <return>true</return>
+ </DisableVpcClassicLinkResponse>
+ """
+
+ def test_enable_classic_link(self):
+ self.set_http_response(status_code=200)
+ response = self.vpc.disable_classic_link(
+ dry_run=True
+ )
+ self.assertTrue(response)
+ self.assert_request_parameters({
+ 'Action': 'DisableVpcClassicLink',
+ 'VpcId': self.vpc_id,
+ 'DryRun': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp', 'Version'])
+
+
+class TestUpdateClassicLinkVpc(TestVpcClassicLink):
+ def default_body(self):
+ return b"""
+ <DescribeVpcClassicLinkResponse xmlns="http://ec2.amazonaws.com/doc/2014-09-01/">
+ <requestId>2484655d-d669-4950-bf55-7ba559805d36</requestId>
+ <vpcSet>
+ <item>
+ <vpcId>myid</vpcId>
+ <classicLinkEnabled>true</classicLinkEnabled>
+ <tagSet/>
+ </item>
+ </vpcSet>
+ </DescribeVpcClassicLinkResponse>
+ """
+
+ def test_vpc_update_classic_link_enabled(self):
+ self.vpc.classic_link_enabled = False
+ self.set_http_response(status_code=200)
+ self.vpc.update_classic_link_enabled(
+ dry_run=True,
+ validate=True
+ )
+ self.assert_request_parameters({
+ 'Action': 'DescribeVpcClassicLink',
+ 'VpcId.1': self.vpc_id,
+ 'DryRun': 'true'},
+ ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
+ 'SignatureVersion', 'Timestamp', 'Version'])
+ self.assertEqual(self.vpc.classic_link_enabled, 'true')
+
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698