summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorArnaud Delabarre <arnaud.delabarre@rallyhealth.com>2014-10-27 22:31:40 -0700
committerArnaud Delabarre <arnaud.delabarre@rallyhealth.com>2014-10-27 22:31:40 -0700
commit62cc6ae027e0a27cbd89077a013745a52f322c0d (patch)
tree133409c46184aee460c421e314a9f54ab1152a8e /tests
parentd523a92326b9f2671f62faa71ab418354bfc1c2f (diff)
downloadboto-62cc6ae027e0a27cbd89077a013745a52f322c0d.tar.gz
Added unit test for ec2 autoscale group detach_instances function
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/ec2/autoscale/test_group.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/unit/ec2/autoscale/test_group.py b/tests/unit/ec2/autoscale/test_group.py
index 5c5b4dcd..81a9b6c6 100644
--- a/tests/unit/ec2/autoscale/test_group.py
+++ b/tests/unit/ec2/autoscale/test_group.py
@@ -623,6 +623,69 @@ class TestAttachInstances(AWSMockServiceTestCase):
}, 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