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

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/autoscale/test_group.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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: tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/autoscale/test_group.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/autoscale/test_group.py b/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/autoscale/test_group.py
deleted file mode 100644
index a5df45899a2bd3710ed54c506477140fb79ec6d2..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/ec2/autoscale/test_group.py
+++ /dev/null
@@ -1,881 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-
-import base64
-from datetime import datetime
-
-from tests.unit import unittest
-from tests.unit import AWSMockServiceTestCase
-
-from boto.ec2.autoscale import AutoScaleConnection
-from boto.ec2.autoscale.group import AutoScalingGroup
-from boto.ec2.autoscale.policy import ScalingPolicy
-from boto.ec2.autoscale.tag import Tag
-
-from boto.ec2.blockdevicemapping import EBSBlockDeviceType, BlockDeviceMapping
-
-from boto.ec2.autoscale import launchconfig, LaunchConfiguration
-
-
-class TestAutoScaleGroup(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestAutoScaleGroup, self).setUp()
-
- def default_body(self):
- return b"""
- <CreateLaunchConfigurationResponse>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </CreateLaunchConfigurationResponse>
- """
-
- def test_autoscaling_group_with_termination_policies(self):
- self.set_http_response(status_code=200)
- autoscale = AutoScalingGroup(
- name='foo', launch_config='lauch_config',
- min_size=1, max_size=2,
- termination_policies=['OldestInstance', 'OldestLaunchConfiguration'],
- instance_id='test-id')
- self.service_connection.create_auto_scaling_group(autoscale)
- self.assert_request_parameters({
- 'Action': 'CreateAutoScalingGroup',
- 'AutoScalingGroupName': 'foo',
- 'LaunchConfigurationName': 'lauch_config',
- 'MaxSize': 2,
- 'MinSize': 1,
- 'TerminationPolicies.member.1': 'OldestInstance',
- 'TerminationPolicies.member.2': 'OldestLaunchConfiguration',
- 'InstanceId': 'test-id',
- }, ignore_params_values=['Version'])
-
- def test_autoscaling_group_single_vpc_zone_identifier(self):
- self.set_http_response(status_code=200)
- autoscale = AutoScalingGroup(
- name='foo',
- vpc_zone_identifier='vpc_zone_1')
- self.service_connection.create_auto_scaling_group(autoscale)
- self.assert_request_parameters({
- 'Action': 'CreateAutoScalingGroup',
- 'AutoScalingGroupName': 'foo',
- 'VPCZoneIdentifier': 'vpc_zone_1',
- }, ignore_params_values=['MaxSize', 'MinSize', 'LaunchConfigurationName', 'Version'])
-
- def test_autoscaling_group_vpc_zone_identifier_list(self):
- self.set_http_response(status_code=200)
- autoscale = AutoScalingGroup(
- name='foo',
- vpc_zone_identifier=['vpc_zone_1', 'vpc_zone_2'])
- self.service_connection.create_auto_scaling_group(autoscale)
- self.assert_request_parameters({
- 'Action': 'CreateAutoScalingGroup',
- 'AutoScalingGroupName': 'foo',
- 'VPCZoneIdentifier': 'vpc_zone_1,vpc_zone_2',
- }, ignore_params_values=['MaxSize', 'MinSize', 'LaunchConfigurationName', 'Version'])
-
- def test_autoscaling_group_vpc_zone_identifier_multi(self):
- self.set_http_response(status_code=200)
- autoscale = AutoScalingGroup(
- name='foo',
- vpc_zone_identifier='vpc_zone_1,vpc_zone_2')
- self.service_connection.create_auto_scaling_group(autoscale)
- self.assert_request_parameters({
- 'Action': 'CreateAutoScalingGroup',
- 'AutoScalingGroupName': 'foo',
- 'VPCZoneIdentifier': 'vpc_zone_1,vpc_zone_2',
- }, ignore_params_values=['MaxSize', 'MinSize', 'LaunchConfigurationName', 'Version'])
-
-
-class TestAutoScaleGroupHonorCooldown(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def default_body(self):
- return b"""
- <SetDesiredCapacityResponse>
- <ResponseMetadata>
- <RequestId>9fb7e2db-6998-11e2-a985-57c82EXAMPLE</RequestId>
- </ResponseMetadata>
- </SetDesiredCapacityResponse>
- """
-
- def test_honor_cooldown(self):
- self.set_http_response(status_code=200)
- self.service_connection.set_desired_capacity('foo', 10, True)
- self.assert_request_parameters({
- 'Action': 'SetDesiredCapacity',
- 'AutoScalingGroupName': 'foo',
- 'DesiredCapacity': 10,
- 'HonorCooldown': 'true',
- }, ignore_params_values=['Version'])
-
-
-class TestScheduledGroup(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestScheduledGroup, self).setUp()
-
- def default_body(self):
- return b"""
- <PutScheduledUpdateGroupActionResponse>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </PutScheduledUpdateGroupActionResponse>
- """
-
- def test_scheduled_group_creation(self):
- self.set_http_response(status_code=200)
- self.service_connection.create_scheduled_group_action('foo',
- 'scheduled-foo',
- desired_capacity=1,
- start_time=datetime(2013, 1, 1, 22, 55, 31),
- end_time=datetime(2013, 2, 1, 22, 55, 31),
- min_size=1,
- max_size=2,
- recurrence='0 10 * * *')
- self.assert_request_parameters({
- 'Action': 'PutScheduledUpdateGroupAction',
- 'AutoScalingGroupName': 'foo',
- 'ScheduledActionName': 'scheduled-foo',
- 'MaxSize': 2,
- 'MinSize': 1,
- 'DesiredCapacity': 1,
- 'EndTime': '2013-02-01T22:55:31',
- 'StartTime': '2013-01-01T22:55:31',
- 'Recurrence': '0 10 * * *',
- }, ignore_params_values=['Version'])
-
-
-class TestParseAutoScaleGroupResponse(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def default_body(self):
- return b"""
- <DescribeAutoScalingGroupsResult>
- <AutoScalingGroups>
- <member>
- <Tags/>
- <SuspendedProcesses/>
- <AutoScalingGroupName>test_group</AutoScalingGroupName>
- <HealthCheckType>EC2</HealthCheckType>
- <CreatedTime>2012-09-27T20:19:47.082Z</CreatedTime>
- <EnabledMetrics/>
- <LaunchConfigurationName>test_launchconfig</LaunchConfigurationName>
- <Instances>
- <member>
- <HealthStatus>Healthy</HealthStatus>
- <AvailabilityZone>us-east-1a</AvailabilityZone>
- <InstanceId>i-z118d054</InstanceId>
- <LaunchConfigurationName>test_launchconfig</LaunchConfigurationName>
- <LifecycleState>InService</LifecycleState>
- </member>
- </Instances>
- <DesiredCapacity>1</DesiredCapacity>
- <AvailabilityZones>
- <member>us-east-1c</member>
- <member>us-east-1a</member>
- </AvailabilityZones>
- <LoadBalancerNames/>
- <MinSize>1</MinSize>
- <VPCZoneIdentifier/>
- <HealthCheckGracePeriod>0</HealthCheckGracePeriod>
- <DefaultCooldown>300</DefaultCooldown>
- <AutoScalingGroupARN>myarn</AutoScalingGroupARN>
- <TerminationPolicies>
- <member>OldestInstance</member>
- <member>OldestLaunchConfiguration</member>
- </TerminationPolicies>
- <MaxSize>2</MaxSize>
- <InstanceId>Something</InstanceId>
- </member>
- </AutoScalingGroups>
- </DescribeAutoScalingGroupsResult>
- """
-
- def test_get_all_groups_is_parsed_correctly(self):
- self.set_http_response(status_code=200)
- response = self.service_connection.get_all_groups(names=['test_group'])
- self.assertEqual(len(response), 1, response)
- as_group = response[0]
- self.assertEqual(as_group.availability_zones, ['us-east-1c', 'us-east-1a'])
- self.assertEqual(as_group.default_cooldown, 300)
- self.assertEqual(as_group.desired_capacity, 1)
- self.assertEqual(as_group.enabled_metrics, [])
- self.assertEqual(as_group.health_check_period, 0)
- self.assertEqual(as_group.health_check_type, 'EC2')
- self.assertEqual(as_group.launch_config_name, 'test_launchconfig')
- self.assertEqual(as_group.load_balancers, [])
- self.assertEqual(as_group.min_size, 1)
- self.assertEqual(as_group.max_size, 2)
- self.assertEqual(as_group.name, 'test_group')
- self.assertEqual(as_group.suspended_processes, [])
- self.assertEqual(as_group.tags, [])
- self.assertEqual(as_group.termination_policies,
- ['OldestInstance', 'OldestLaunchConfiguration'])
- self.assertEqual(as_group.instance_id, 'Something')
-
-
-class TestDescribeTerminationPolicies(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def default_body(self):
- return b"""
- <DescribeTerminationPolicyTypesResponse>
- <DescribeTerminationPolicyTypesResult>
- <TerminationPolicyTypes>
- <member>ClosestToNextInstanceHour</member>
- <member>Default</member>
- <member>NewestInstance</member>
- <member>OldestInstance</member>
- <member>OldestLaunchConfiguration</member>
- </TerminationPolicyTypes>
- </DescribeTerminationPolicyTypesResult>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </DescribeTerminationPolicyTypesResponse>
- """
-
- def test_autoscaling_group_with_termination_policies(self):
- self.set_http_response(status_code=200)
- response = self.service_connection.get_termination_policies()
- self.assertListEqual(
- response,
- ['ClosestToNextInstanceHour', 'Default',
- 'NewestInstance', 'OldestInstance', 'OldestLaunchConfiguration'])
-
-
-class TestLaunchConfigurationDescribe(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def default_body(self):
- # This is a dummy response
- return b"""
- <DescribeLaunchConfigurationsResponse>
- <DescribeLaunchConfigurationsResult>
- <LaunchConfigurations>
- <member>
- <AssociatePublicIpAddress>true</AssociatePublicIpAddress>
- <SecurityGroups/>
- <CreatedTime>2013-01-21T23:04:42.200Z</CreatedTime>
- <KernelId/>
- <LaunchConfigurationName>my-test-lc</LaunchConfigurationName>
- <UserData/>
- <InstanceType>m1.small</InstanceType>
- <LaunchConfigurationARN>arn:aws:autoscaling:us-east-1:803981987763:launchConfiguration:9dbbbf87-6141-428a-a409-0752edbe6cad:launchConfigurationName/my-test-lc</LaunchConfigurationARN>
- <BlockDeviceMappings/>
- <ImageId>ami-514ac838</ImageId>
- <KeyName/>
- <RamdiskId/>
- <InstanceMonitoring>
- <Enabled>true</Enabled>
- </InstanceMonitoring>
- <EbsOptimized>false</EbsOptimized>
- <ClassicLinkVPCId>vpc-12345</ClassicLinkVPCId>
- <ClassicLinkVPCSecurityGroups>
- <member>sg-1234</member>
- </ClassicLinkVPCSecurityGroups>
- </member>
- </LaunchConfigurations>
- </DescribeLaunchConfigurationsResult>
- <ResponseMetadata>
- <RequestId>d05a22f8-b690-11e2-bf8e-2113fEXAMPLE</RequestId>
- </ResponseMetadata>
- </DescribeLaunchConfigurationsResponse>
- """
-
- def test_get_all_launch_configurations(self):
- self.set_http_response(status_code=200)
-
- response = self.service_connection.get_all_launch_configurations()
- self.assertTrue(isinstance(response, list))
- self.assertEqual(len(response), 1)
- self.assertTrue(isinstance(response[0], LaunchConfiguration))
-
- self.assertEqual(response[0].associate_public_ip_address, True)
- self.assertEqual(response[0].name, "my-test-lc")
- self.assertEqual(response[0].instance_type, "m1.small")
- self.assertEqual(response[0].launch_configuration_arn, "arn:aws:autoscaling:us-east-1:803981987763:launchConfiguration:9dbbbf87-6141-428a-a409-0752edbe6cad:launchConfigurationName/my-test-lc")
- self.assertEqual(response[0].image_id, "ami-514ac838")
- self.assertTrue(isinstance(response[0].instance_monitoring, launchconfig.InstanceMonitoring))
- self.assertEqual(response[0].instance_monitoring.enabled, 'true')
- self.assertEqual(response[0].ebs_optimized, False)
- self.assertEqual(response[0].block_device_mappings, [])
- self.assertEqual(response[0].classic_link_vpc_id, 'vpc-12345')
- self.assertEqual(response[0].classic_link_vpc_security_groups,
- ['sg-1234'])
-
- self.assert_request_parameters({
- 'Action': 'DescribeLaunchConfigurations',
- }, ignore_params_values=['Version'])
-
- def test_get_all_configuration_limited(self):
- self.set_http_response(status_code=200)
-
- response = self.service_connection.get_all_launch_configurations(max_records=10, names=["my-test1", "my-test2"])
- self.assert_request_parameters({
- 'Action': 'DescribeLaunchConfigurations',
- 'MaxRecords': 10,
- 'LaunchConfigurationNames.member.1': 'my-test1',
- 'LaunchConfigurationNames.member.2': 'my-test2'
- }, ignore_params_values=['Version'])
-
-
-class TestLaunchConfiguration(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def default_body(self):
- # This is a dummy response
- return b"""
- <DescribeLaunchConfigurationsResponse>
- </DescribeLaunchConfigurationsResponse>
- """
-
- def test_launch_config(self):
- # This unit test is based on #753 and #1343
- self.set_http_response(status_code=200)
- dev_sdf = EBSBlockDeviceType(snapshot_id='snap-12345')
-
- bdm = BlockDeviceMapping()
- bdm['/dev/sdf'] = dev_sdf
-
- lc = launchconfig.LaunchConfiguration(
- connection=self.service_connection,
- name='launch_config',
- image_id='123456',
- instance_type='m1.large',
- user_data='#!/bin/bash',
- security_groups=['group1'],
- spot_price='price',
- block_device_mappings=[bdm],
- associate_public_ip_address=True,
- volume_type='atype',
- delete_on_termination=False,
- iops=3000,
- classic_link_vpc_id='vpc-1234',
- classic_link_vpc_security_groups=['classic_link_group']
- )
-
- response = self.service_connection.create_launch_configuration(lc)
-
- self.assert_request_parameters({
- 'Action': 'CreateLaunchConfiguration',
- 'BlockDeviceMappings.member.1.DeviceName': '/dev/sdf',
- 'BlockDeviceMappings.member.1.Ebs.DeleteOnTermination': 'false',
- 'BlockDeviceMappings.member.1.Ebs.SnapshotId': 'snap-12345',
- 'EbsOptimized': 'false',
- 'LaunchConfigurationName': 'launch_config',
- 'ImageId': '123456',
- 'UserData': base64.b64encode(b'#!/bin/bash').decode('utf-8'),
- 'InstanceMonitoring.Enabled': 'false',
- 'InstanceType': 'm1.large',
- 'SecurityGroups.member.1': 'group1',
- 'SpotPrice': 'price',
- 'AssociatePublicIpAddress': 'true',
- 'VolumeType': 'atype',
- 'DeleteOnTermination': 'false',
- 'Iops': 3000,
- 'ClassicLinkVPCId': 'vpc-1234',
- 'ClassicLinkVPCSecurityGroups.member.1': 'classic_link_group'
- }, ignore_params_values=['Version'])
-
-
-class TestCreateAutoScalePolicy(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestCreateAutoScalePolicy, self).setUp()
-
- def default_body(self):
- return b"""
- <PutScalingPolicyResponse xmlns="http://autoscaling.amazonaws.com\
- /doc/2011-01-01/">
- <PutScalingPolicyResult>
- <PolicyARN>arn:aws:autoscaling:us-east-1:803981987763:scaling\
- Policy:b0dcf5e8
- -02e6-4e31-9719-0675d0dc31ae:autoScalingGroupName/my-test-asg:\
- policyName/my-scal
- eout-policy</PolicyARN>
- </PutScalingPolicyResult>
- <ResponseMetadata>
- <RequestId>3cfc6fef-c08b-11e2-a697-2922EXAMPLE</RequestId>
- </ResponseMetadata>
- </PutScalingPolicyResponse>
- """
-
- def test_scaling_policy_with_min_adjustment_step(self):
- self.set_http_response(status_code=200)
-
- policy = ScalingPolicy(
- name='foo', as_name='bar',
- adjustment_type='PercentChangeInCapacity', scaling_adjustment=50,
- min_adjustment_step=30)
- self.service_connection.create_scaling_policy(policy)
-
- self.assert_request_parameters({
- 'Action': 'PutScalingPolicy',
- 'PolicyName': 'foo',
- 'AutoScalingGroupName': 'bar',
- 'AdjustmentType': 'PercentChangeInCapacity',
- 'ScalingAdjustment': 50,
- 'MinAdjustmentStep': 30
- }, ignore_params_values=['Version'])
-
- def test_scaling_policy_with_wrong_adjustment_type(self):
- self.set_http_response(status_code=200)
-
- policy = ScalingPolicy(
- name='foo', as_name='bar',
- adjustment_type='ChangeInCapacity', scaling_adjustment=50,
- min_adjustment_step=30)
- self.service_connection.create_scaling_policy(policy)
-
- self.assert_request_parameters({
- 'Action': 'PutScalingPolicy',
- 'PolicyName': 'foo',
- 'AutoScalingGroupName': 'bar',
- 'AdjustmentType': 'ChangeInCapacity',
- 'ScalingAdjustment': 50
- }, ignore_params_values=['Version'])
-
- def test_scaling_policy_without_min_adjustment_step(self):
- self.set_http_response(status_code=200)
-
- policy = ScalingPolicy(
- name='foo', as_name='bar',
- adjustment_type='PercentChangeInCapacity', scaling_adjustment=50)
- self.service_connection.create_scaling_policy(policy)
-
- self.assert_request_parameters({
- 'Action': 'PutScalingPolicy',
- 'PolicyName': 'foo',
- 'AutoScalingGroupName': 'bar',
- 'AdjustmentType': 'PercentChangeInCapacity',
- 'ScalingAdjustment': 50
- }, ignore_params_values=['Version'])
-
-
-class TestPutNotificationConfiguration(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestPutNotificationConfiguration, self).setUp()
-
- def default_body(self):
- return b"""
- <PutNotificationConfigurationResponse>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </PutNotificationConfigurationResponse>
- """
-
- def test_autoscaling_group_put_notification_configuration(self):
- self.set_http_response(status_code=200)
- autoscale = AutoScalingGroup(
- name='ana', launch_config='lauch_config',
- min_size=1, max_size=2,
- termination_policies=['OldestInstance', 'OldestLaunchConfiguration'])
- self.service_connection.put_notification_configuration(autoscale, 'arn:aws:sns:us-east-1:19890506:AutoScaling-Up', ['autoscaling:EC2_INSTANCE_LAUNCH'])
- self.assert_request_parameters({
- 'Action': 'PutNotificationConfiguration',
- 'AutoScalingGroupName': 'ana',
- 'NotificationTypes.member.1': 'autoscaling:EC2_INSTANCE_LAUNCH',
- 'TopicARN': 'arn:aws:sns:us-east-1:19890506:AutoScaling-Up',
- }, ignore_params_values=['Version'])
-
-
-class TestDeleteNotificationConfiguration(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestDeleteNotificationConfiguration, self).setUp()
-
- def default_body(self):
- return b"""
- <DeleteNotificationConfigurationResponse>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </DeleteNotificationConfigurationResponse>
- """
-
- def test_autoscaling_group_put_notification_configuration(self):
- self.set_http_response(status_code=200)
- autoscale = AutoScalingGroup(
- name='ana', launch_config='lauch_config',
- min_size=1, max_size=2,
- termination_policies=['OldestInstance', 'OldestLaunchConfiguration'])
- self.service_connection.delete_notification_configuration(autoscale, 'arn:aws:sns:us-east-1:19890506:AutoScaling-Up')
- self.assert_request_parameters({
- 'Action': 'DeleteNotificationConfiguration',
- 'AutoScalingGroupName': 'ana',
- 'TopicARN': 'arn:aws:sns:us-east-1:19890506:AutoScaling-Up',
- }, ignore_params_values=['Version'])
-
-
-class TestAutoScalingTag(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def default_body(self):
- return b"""
- <CreateOrUpdateTagsResponse>
- <ResponseMetadata>
- <RequestId>requestId</RequestId>
- </ResponseMetadata>
- </CreateOrUpdateTagsResponse>
- """
-
- def test_create_or_update_tags(self):
- self.set_http_response(status_code=200)
-
- tags = [
- Tag(
- connection=self.service_connection,
- key='alpha',
- value='tango',
- resource_id='sg-00000000',
- resource_type='auto-scaling-group',
- propagate_at_launch=True
- ),
- Tag(
- connection=self.service_connection,
- key='bravo',
- value='sierra',
- resource_id='sg-00000000',
- resource_type='auto-scaling-group',
- propagate_at_launch=False
- )]
-
- response = self.service_connection.create_or_update_tags(tags)
-
- self.assert_request_parameters({
- 'Action': 'CreateOrUpdateTags',
- 'Tags.member.1.ResourceType': 'auto-scaling-group',
- 'Tags.member.1.ResourceId': 'sg-00000000',
- 'Tags.member.1.Key': 'alpha',
- 'Tags.member.1.Value': 'tango',
- 'Tags.member.1.PropagateAtLaunch': 'true',
- 'Tags.member.2.ResourceType': 'auto-scaling-group',
- 'Tags.member.2.ResourceId': 'sg-00000000',
- 'Tags.member.2.Key': 'bravo',
- 'Tags.member.2.Value': 'sierra',
- 'Tags.member.2.PropagateAtLaunch': 'false'
- }, ignore_params_values=['Version'])
-
- def test_endElement(self):
- for i in [
- ('Key', 'mykey', 'key'),
- ('Value', 'myvalue', 'value'),
- ('ResourceType', 'auto-scaling-group', 'resource_type'),
- ('ResourceId', 'sg-01234567', 'resource_id'),
- ('PropagateAtLaunch', 'true', 'propagate_at_launch')]:
- self.check_tag_attributes_set(i[0], i[1], i[2])
-
- def check_tag_attributes_set(self, name, value, attr):
- tag = Tag()
- tag.endElement(name, value, None)
- if value == 'true':
- self.assertEqual(getattr(tag, attr), True)
- else:
- self.assertEqual(getattr(tag, attr), value)
-
-
-class TestAttachInstances(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestAttachInstances, self).setUp()
-
- def default_body(self):
- return b"""
- <AttachInstancesResponse>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </AttachInstancesResponse>
- """
-
- def test_attach_instances(self):
- self.set_http_response(status_code=200)
- self.service_connection.attach_instances(
- 'autoscale',
- ['inst2', 'inst1', 'inst4']
- )
- self.assert_request_parameters({
- 'Action': 'AttachInstances',
- 'AutoScalingGroupName': 'autoscale',
- 'InstanceIds.member.1': 'inst2',
- 'InstanceIds.member.2': 'inst1',
- 'InstanceIds.member.3': 'inst4',
- }, ignore_params_values=['Version'])
-
-
-class TestDetachInstances(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestDetachInstances, self).setUp()
-
- def default_body(self):
- return b"""
- <DetachInstancesResponse>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </DetachInstancesResponse>
- """
-
- def test_detach_instances(self):
- self.set_http_response(status_code=200)
- self.service_connection.detach_instances(
- 'autoscale',
- ['inst2', 'inst1', 'inst4']
- )
- self.assert_request_parameters({
- 'Action': 'DetachInstances',
- 'AutoScalingGroupName': 'autoscale',
- 'InstanceIds.member.1': 'inst2',
- 'InstanceIds.member.2': 'inst1',
- 'InstanceIds.member.3': 'inst4',
- 'ShouldDecrementDesiredCapacity': 'true',
- }, ignore_params_values=['Version'])
-
- def test_detach_instances_with_decrement_desired_capacity(self):
- self.set_http_response(status_code=200)
- self.service_connection.detach_instances(
- 'autoscale',
- ['inst2', 'inst1', 'inst4'],
- True
- )
- self.assert_request_parameters({
- 'Action': 'DetachInstances',
- 'AutoScalingGroupName': 'autoscale',
- 'InstanceIds.member.1': 'inst2',
- 'InstanceIds.member.2': 'inst1',
- 'InstanceIds.member.3': 'inst4',
- 'ShouldDecrementDesiredCapacity': 'true',
- }, ignore_params_values=['Version'])
-
- def test_detach_instances_without_decrement_desired_capacity(self):
- self.set_http_response(status_code=200)
- self.service_connection.detach_instances(
- 'autoscale',
- ['inst2', 'inst1', 'inst4'],
- False
- )
- self.assert_request_parameters({
- 'Action': 'DetachInstances',
- 'AutoScalingGroupName': 'autoscale',
- 'InstanceIds.member.1': 'inst2',
- 'InstanceIds.member.2': 'inst1',
- 'InstanceIds.member.3': 'inst4',
- 'ShouldDecrementDesiredCapacity': 'false',
- }, ignore_params_values=['Version'])
-
-
-class TestGetAccountLimits(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestGetAccountLimits, self).setUp()
-
- def default_body(self):
- return b"""
- <DescribeAccountLimitsAnswer>
- <MaxNumberOfAutoScalingGroups>6</MaxNumberOfAutoScalingGroups>
- <MaxNumberOfLaunchConfigurations>3</MaxNumberOfLaunchConfigurations>
- <ResponseMetadata>
- <RequestId>requestid</RequestId>
- </ResponseMetadata>
- </DescribeAccountLimitsAnswer>
- """
-
- def test_autoscaling_group_put_notification_configuration(self):
- self.set_http_response(status_code=200)
- limits = self.service_connection.get_account_limits()
- self.assert_request_parameters({
- 'Action': 'DescribeAccountLimits',
- }, ignore_params_values=['Version'])
- self.assertEqual(limits.max_autoscaling_groups, 6)
- self.assertEqual(limits.max_launch_configurations, 3)
-
-
-class TestGetAdjustmentTypes(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def setUp(self):
- super(TestGetAdjustmentTypes, self).setUp()
-
- def default_body(self):
- return b"""
- <DescribeAdjustmentTypesResponse xmlns="http://autoscaling.amazonaws.com/doc/201-01-01/">
- <DescribeAdjustmentTypesResult>
- <AdjustmentTypes>
- <member>
- <AdjustmentType>ChangeInCapacity</AdjustmentType>
- </member>
- <member>
- <AdjustmentType>ExactCapacity</AdjustmentType>
- </member>
- <member>
- <AdjustmentType>PercentChangeInCapacity</AdjustmentType>
- </member>
- </AdjustmentTypes>
- </DescribeAdjustmentTypesResult>
- <ResponseMetadata>
- <RequestId>requestId</RequestId>
- </ResponseMetadata>
- </DescribeAdjustmentTypesResponse>
- """
-
- def test_autoscaling_adjustment_types(self):
- self.set_http_response(status_code=200)
- response = self.service_connection.get_all_adjustment_types()
- self.assert_request_parameters({
- 'Action': 'DescribeAdjustmentTypes'
- }, ignore_params_values=['Version'])
-
- self.assertTrue(isinstance(response, list))
- self.assertEqual(response[0].adjustment_type, "ChangeInCapacity")
- self.assertEqual(response[1].adjustment_type, "ExactCapacity")
- self.assertEqual(response[2].adjustment_type, "PercentChangeInCapacity")
-
-
-class TestLaunchConfigurationDescribeWithBlockDeviceTypes(AWSMockServiceTestCase):
- connection_class = AutoScaleConnection
-
- def default_body(self):
- # This is a dummy response
- return b"""
- <DescribeLaunchConfigurationsResponse>
- <DescribeLaunchConfigurationsResult>
- <LaunchConfigurations>
- <member>
- <AssociatePublicIpAddress>true</AssociatePublicIpAddress>
- <SecurityGroups/>
- <CreatedTime>2013-01-21T23:04:42.200Z</CreatedTime>
- <KernelId/>
- <LaunchConfigurationName>my-test-lc</LaunchConfigurationName>
- <UserData/>
- <InstanceType>m1.small</InstanceType>
- <LaunchConfigurationARN>arn:aws:autoscaling:us-east-1:803981987763:launchConfiguration:9dbbbf87-6141-428a-a409-0752edbe6cad:launchConfigurationName/my-test-lc</LaunchConfigurationARN>
- <BlockDeviceMappings>
- <member>
- <DeviceName>/dev/xvdp</DeviceName>
- <Ebs>
- <SnapshotId>snap-1234abcd</SnapshotId>
- <Iops>1000</Iops>
- <DeleteOnTermination>true</DeleteOnTermination>
- <VolumeType>io1</VolumeType>
- <VolumeSize>100</VolumeSize>
- </Ebs>
- </member>
- <member>
- <VirtualName>ephemeral1</VirtualName>
- <DeviceName>/dev/xvdc</DeviceName>
- </member>
- <member>
- <VirtualName>ephemeral0</VirtualName>
- <DeviceName>/dev/xvdb</DeviceName>
- </member>
- <member>
- <DeviceName>/dev/xvdh</DeviceName>
- <Ebs>
- <Iops>2000</Iops>
- <DeleteOnTermination>false</DeleteOnTermination>
- <VolumeType>io1</VolumeType>
- <VolumeSize>200</VolumeSize>
- </Ebs>
- </member>
- </BlockDeviceMappings>
- <ImageId>ami-514ac838</ImageId>
- <KeyName/>
- <RamdiskId/>
- <InstanceMonitoring>
- <Enabled>true</Enabled>
- </InstanceMonitoring>
- <EbsOptimized>false</EbsOptimized>
- </member>
- </LaunchConfigurations>
- </DescribeLaunchConfigurationsResult>
- <ResponseMetadata>
- <RequestId>d05a22f8-b690-11e2-bf8e-2113fEXAMPLE</RequestId>
- </ResponseMetadata>
- </DescribeLaunchConfigurationsResponse>
- """
-
- def test_get_all_launch_configurations_with_block_device_types(self):
- self.set_http_response(status_code=200)
- self.service_connection.use_block_device_types = True
-
- response = self.service_connection.get_all_launch_configurations()
- self.assertTrue(isinstance(response, list))
- self.assertEqual(len(response), 1)
- self.assertTrue(isinstance(response[0], LaunchConfiguration))
-
- self.assertEqual(response[0].associate_public_ip_address, True)
- self.assertEqual(response[0].name, "my-test-lc")
- self.assertEqual(response[0].instance_type, "m1.small")
- self.assertEqual(response[0].launch_configuration_arn, "arn:aws:autoscaling:us-east-1:803981987763:launchConfiguration:9dbbbf87-6141-428a-a409-0752edbe6cad:launchConfigurationName/my-test-lc")
- self.assertEqual(response[0].image_id, "ami-514ac838")
- self.assertTrue(isinstance(response[0].instance_monitoring, launchconfig.InstanceMonitoring))
- self.assertEqual(response[0].instance_monitoring.enabled, 'true')
- self.assertEqual(response[0].ebs_optimized, False)
-
- self.assertEqual(response[0].block_device_mappings['/dev/xvdb'].ephemeral_name, 'ephemeral0')
-
- self.assertEqual(response[0].block_device_mappings['/dev/xvdc'].ephemeral_name, 'ephemeral1')
-
- self.assertEqual(response[0].block_device_mappings['/dev/xvdp'].snapshot_id, 'snap-1234abcd')
- self.assertEqual(response[0].block_device_mappings['/dev/xvdp'].delete_on_termination, True)
- self.assertEqual(response[0].block_device_mappings['/dev/xvdp'].iops, 1000)
- self.assertEqual(response[0].block_device_mappings['/dev/xvdp'].size, 100)
- self.assertEqual(response[0].block_device_mappings['/dev/xvdp'].volume_type, 'io1')
-
- self.assertEqual(response[0].block_device_mappings['/dev/xvdh'].delete_on_termination, False)
- self.assertEqual(response[0].block_device_mappings['/dev/xvdh'].iops, 2000)
- self.assertEqual(response[0].block_device_mappings['/dev/xvdh'].size, 200)
- self.assertEqual(response[0].block_device_mappings['/dev/xvdh'].volume_type, 'io1')
-
- self.assert_request_parameters({
- 'Action': 'DescribeLaunchConfigurations',
- }, ignore_params_values=['Version'])
-
- def test_get_all_configuration_limited(self):
- self.set_http_response(status_code=200)
-
- response = self.service_connection.get_all_launch_configurations(max_records=10, names=["my-test1", "my-test2"])
- self.assert_request_parameters({
- 'Action': 'DescribeLaunchConfigurations',
- 'MaxRecords': 10,
- 'LaunchConfigurationNames.member.1': 'my-test1',
- 'LaunchConfigurationNames.member.2': 'my-test2'
- }, ignore_params_values=['Version'])
-
-
-if __name__ == '__main__':
- unittest.main()

Powered by Google App Engine
This is Rietveld 408576698