Index: tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/test_instance.py |
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/test_instance.py b/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/test_instance.py |
deleted file mode 100644 |
index 4794d4cc4b2955e1dfa4adda7586e775d54d6628..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/test_instance.py |
+++ /dev/null |
@@ -1,277 +0,0 @@ |
-#!/usr/bin/env python |
- |
-import base64 |
-from tests.compat import unittest, mock |
-from tests.unit import AWSMockServiceTestCase |
- |
-from boto.ec2.connection import EC2Connection |
- |
-DESCRIBE_INSTANCE_VPC = br"""<?xml version="1.0" encoding="UTF-8"?> |
-<DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2012-10-01/"> |
- <requestId>c6132c74-b524-4884-87f5-0f4bde4a9760</requestId> |
- <reservationSet> |
- <item> |
- <reservationId>r-72ef4a0a</reservationId> |
- <ownerId>184906166255</ownerId> |
- <groupSet/> |
- <instancesSet> |
- <item> |
- <instanceId>i-instance</instanceId> |
- <imageId>ami-1624987f</imageId> |
- <instanceState> |
- <code>16</code> |
- <name>running</name> |
- </instanceState> |
- <privateDnsName/> |
- <dnsName/> |
- <reason/> |
- <keyName>mykeypair</keyName> |
- <amiLaunchIndex>0</amiLaunchIndex> |
- <productCodes/> |
- <instanceType>m1.small</instanceType> |
- <launchTime>2012-12-14T23:48:37.000Z</launchTime> |
- <placement> |
- <availabilityZone>us-east-1d</availabilityZone> |
- <groupName/> |
- <tenancy>default</tenancy> |
- </placement> |
- <kernelId>aki-88aa75e1</kernelId> |
- <monitoring> |
- <state>disabled</state> |
- </monitoring> |
- <subnetId>subnet-0dc60667</subnetId> |
- <vpcId>vpc-id</vpcId> |
- <privateIpAddress>10.0.0.67</privateIpAddress> |
- <sourceDestCheck>true</sourceDestCheck> |
- <groupSet> |
- <item> |
- <groupId>sg-id</groupId> |
- <groupName>WebServerSG</groupName> |
- </item> |
- </groupSet> |
- <architecture>x86_64</architecture> |
- <rootDeviceType>ebs</rootDeviceType> |
- <rootDeviceName>/dev/sda1</rootDeviceName> |
- <blockDeviceMapping> |
- <item> |
- <deviceName>/dev/sda1</deviceName> |
- <ebs> |
- <volumeId>vol-id</volumeId> |
- <status>attached</status> |
- <attachTime>2012-12-14T23:48:43.000Z</attachTime> |
- <deleteOnTermination>true</deleteOnTermination> |
- </ebs> |
- </item> |
- </blockDeviceMapping> |
- <virtualizationType>paravirtual</virtualizationType> |
- <clientToken>foo</clientToken> |
- <tagSet> |
- <item> |
- <key>Name</key> |
- <value/> |
- </item> |
- </tagSet> |
- <hypervisor>xen</hypervisor> |
- <networkInterfaceSet> |
- <item> |
- <networkInterfaceId>eni-id</networkInterfaceId> |
- <subnetId>subnet-id</subnetId> |
- <vpcId>vpc-id</vpcId> |
- <description>Primary network interface</description> |
- <ownerId>ownerid</ownerId> |
- <status>in-use</status> |
- <privateIpAddress>10.0.0.67</privateIpAddress> |
- <sourceDestCheck>true</sourceDestCheck> |
- <groupSet> |
- <item> |
- <groupId>sg-id</groupId> |
- <groupName>WebServerSG</groupName> |
- </item> |
- </groupSet> |
- <attachment> |
- <attachmentId>eni-attach-id</attachmentId> |
- <deviceIndex>0</deviceIndex> |
- <status>attached</status> |
- <attachTime>2012-12-14T23:48:37.000Z</attachTime> |
- <deleteOnTermination>true</deleteOnTermination> |
- </attachment> |
- <privateIpAddressesSet> |
- <item> |
- <privateIpAddress>10.0.0.67</privateIpAddress> |
- <primary>true</primary> |
- </item> |
- <item> |
- <privateIpAddress>10.0.0.54</privateIpAddress> |
- <primary>false</primary> |
- </item> |
- <item> |
- <privateIpAddress>10.0.0.55</privateIpAddress> |
- <primary>false</primary> |
- </item> |
- </privateIpAddressesSet> |
- </item> |
- </networkInterfaceSet> |
- <ebsOptimized>false</ebsOptimized> |
- </item> |
- </instancesSet> |
- </item> |
- </reservationSet> |
-</DescribeInstancesResponse> |
-""" |
- |
-RUN_INSTANCE_RESPONSE = br""" |
-<RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2012-06-01/"> |
- <requestId>ad4b83c2-f606-4c39-90c6-5dcc5be823e1</requestId> |
- <reservationId>r-c5cef7a7</reservationId> |
- <ownerId>ownerid</ownerId> |
- <groupSet> |
- <item> |
- <groupId>sg-id</groupId> |
- <groupName>SSH</groupName> |
- </item> |
- </groupSet> |
- <instancesSet> |
- <item> |
- <instanceId>i-ff0f1299</instanceId> |
- <imageId>ami-ed65ba84</imageId> |
- <instanceState> |
- <code>0</code> |
- <name>pending</name> |
- </instanceState> |
- <privateDnsName/> |
- <dnsName/> |
- <reason/> |
- <keyName>awskeypair</keyName> |
- <amiLaunchIndex>0</amiLaunchIndex> |
- <productCodes/> |
- <instanceType>t1.micro</instanceType> |
- <launchTime>2012-05-30T19:21:18.000Z</launchTime> |
- <placement> |
- <availabilityZone>us-east-1a</availabilityZone> |
- <groupName/> |
- <tenancy>default</tenancy> |
- </placement> |
- <kernelId>aki-b6aa75df</kernelId> |
- <monitoring> |
- <state>disabled</state> |
- </monitoring> |
- <groupSet> |
- <item> |
- <groupId>sg-99a710f1</groupId> |
- <groupName>SSH</groupName> |
- </item> |
- </groupSet> |
- <stateReason> |
- <code>pending</code> |
- <message>pending</message> |
- </stateReason> |
- <architecture>i386</architecture> |
- <rootDeviceType>ebs</rootDeviceType> |
- <rootDeviceName>/dev/sda1</rootDeviceName> |
- <blockDeviceMapping/> |
- <virtualizationType>paravirtual</virtualizationType> |
- <clientToken/> |
- <hypervisor>xen</hypervisor> |
- <networkInterfaceSet/> |
- <iamInstanceProfile> |
- <arn>arn:aws:iam::ownerid:instance-profile/myinstanceprofile</arn> |
- <id>iamid</id> |
- </iamInstanceProfile> |
- </item> |
- </instancesSet> |
-</RunInstancesResponse> |
-""" |
- |
- |
-class TestRunInstanceResponseParsing(unittest.TestCase): |
- def testIAMInstanceProfileParsedCorrectly(self): |
- ec2 = EC2Connection(aws_access_key_id='aws_access_key_id', |
- aws_secret_access_key='aws_secret_access_key') |
- mock_response = mock.Mock() |
- mock_response.read.return_value = RUN_INSTANCE_RESPONSE |
- mock_response.status = 200 |
- ec2.make_request = mock.Mock(return_value=mock_response) |
- reservation = ec2.run_instances(image_id='ami-12345') |
- self.assertEqual(len(reservation.instances), 1) |
- instance = reservation.instances[0] |
- self.assertEqual(instance.image_id, 'ami-ed65ba84') |
- # iamInstanceProfile has an ID element, so we want to make sure |
- # that this does not map to instance.id (which should be the |
- # id of the ec2 instance). |
- self.assertEqual(instance.id, 'i-ff0f1299') |
- self.assertDictEqual( |
- instance.instance_profile, |
- {'arn': ('arn:aws:iam::ownerid:' |
- 'instance-profile/myinstanceprofile'), |
- 'id': 'iamid'}) |
- |
- |
-class TestRunInstances(AWSMockServiceTestCase): |
- connection_class = EC2Connection |
- |
- def default_body(self): |
- # This is a dummy response |
- return b""" |
- <DescribeLaunchConfigurationsResponse> |
- </DescribeLaunchConfigurationsResponse> |
- """ |
- |
- def test_run_instances_user_data(self): |
- self.set_http_response(status_code=200) |
- |
- response = self.service_connection.run_instances( |
- image_id='123456', |
- instance_type='m1.large', |
- security_groups=['group1', 'group2'], |
- user_data='#!/bin/bash' |
- ) |
- |
- self.assert_request_parameters({ |
- 'Action': 'RunInstances', |
- 'ImageId': '123456', |
- 'InstanceType': 'm1.large', |
- 'UserData': base64.b64encode(b'#!/bin/bash').decode('utf-8'), |
- 'MaxCount': 1, |
- 'MinCount': 1, |
- 'SecurityGroup.1': 'group1', |
- 'SecurityGroup.2': 'group2', |
- }, ignore_params_values=[ |
- 'Version', 'AWSAccessKeyId', 'SignatureMethod', 'SignatureVersion', |
- 'Timestamp' |
- ]) |
- |
- |
-class TestDescribeInstances(AWSMockServiceTestCase): |
- connection_class = EC2Connection |
- |
- def default_body(self): |
- return DESCRIBE_INSTANCE_VPC |
- |
- def test_multiple_private_ip_addresses(self): |
- self.set_http_response(status_code=200) |
- |
- api_response = self.service_connection.get_all_reservations() |
- self.assertEqual(len(api_response), 1) |
- |
- instances = api_response[0].instances |
- self.assertEqual(len(instances), 1) |
- |
- instance = instances[0] |
- self.assertEqual(len(instance.interfaces), 1) |
- |
- interface = instance.interfaces[0] |
- self.assertEqual(len(interface.private_ip_addresses), 3) |
- |
- addresses = interface.private_ip_addresses |
- self.assertEqual(addresses[0].private_ip_address, '10.0.0.67') |
- self.assertTrue(addresses[0].primary) |
- |
- self.assertEqual(addresses[1].private_ip_address, '10.0.0.54') |
- self.assertFalse(addresses[1].primary) |
- |
- self.assertEqual(addresses[2].private_ip_address, '10.0.0.55') |
- self.assertFalse(addresses[2].primary) |
- |
- |
-if __name__ == '__main__': |
- unittest.main() |