diff options
Diffstat (limited to 'tests/unit/ec2/elb/test_attribute.py')
-rw-r--r-- | tests/unit/ec2/elb/test_attribute.py | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/tests/unit/ec2/elb/test_attribute.py b/tests/unit/ec2/elb/test_attribute.py index 78d32709..40edecba 100644 --- a/tests/unit/ec2/elb/test_attribute.py +++ b/tests/unit/ec2/elb/test_attribute.py @@ -35,6 +35,21 @@ ATTRIBUTE_GET_FALSE_CZL_RESPONSE = b"""<?xml version="1.0" encoding="UTF-8"?> </DescribeLoadBalancerAttributesResponse> """ +ATTRIBUTE_GET_CS_RESPONSE = b"""<?xml version="1.0" encoding="UTF-8"?> +<DescribeLoadBalancerAttributesResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/"> + <DescribeLoadBalancerAttributesResult> + <LoadBalancerAttributes> + <ConnectionSettings> + <IdleTimeout>30</IdleTimeout> + </ConnectionSettings> + </LoadBalancerAttributes> + </DescribeLoadBalancerAttributesResult> +<ResponseMetadata> + <RequestId>83c88b9d-12b7-11e3-8b82-87b12EXAMPLE</RequestId> +</ResponseMetadata> +</DescribeLoadBalancerAttributesResponse> +""" + ATTRIBUTE_SET_RESPONSE = b"""<?xml version="1.0" encoding="UTF-8"?> <ModifyLoadBalancerAttributesResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/"> <ModifyLoadBalancerAttributesResult/> @@ -63,7 +78,10 @@ ATTRIBUTE_TESTS = [ [('cross_zone_load_balancing.enabled', True)]), (ATTRIBUTE_GET_FALSE_CZL_RESPONSE, [('cross_zone_load_balancing.enabled', False)]), - ] + (ATTRIBUTE_GET_CS_RESPONSE, + [('connecting_settings.idle_timeout', 30)]), +] + class TestLbAttributes(unittest.TestCase): """Tests LB Attributes.""" @@ -103,8 +121,7 @@ class TestLbAttributes(unittest.TestCase): tests = [ ('crossZoneLoadBalancing', True, ATTRIBUTE_GET_TRUE_CZL_RESPONSE), ('crossZoneLoadBalancing', False, ATTRIBUTE_GET_FALSE_CZL_RESPONSE), - ] - + ] for attr, value, response in tests: mock_response.read.return_value = response @@ -118,7 +135,7 @@ class TestLbAttributes(unittest.TestCase): tests = [ ('crossZoneLoadBalancing', True, ATTRIBUTE_SET_CZL_TRUE_REQUEST), ('crossZoneLoadBalancing', False, ATTRIBUTE_SET_CZL_FALSE_REQUEST), - ] + ] for attr, value, args in tests: mock_response.read.return_value = ATTRIBUTE_SET_RESPONSE @@ -151,7 +168,7 @@ class TestLbAttributes(unittest.TestCase): # Gets a false result. (lb.is_cross_zone_load_balancing, [True], False, ATTRIBUTE_GET_FALSE_CZL_RESPONSE), - ] + ] for method, args, result, response in tests: mock_response.read.return_value = response @@ -173,5 +190,16 @@ class TestLbAttributes(unittest.TestCase): self.assertTrue(lb.disable_cross_zone_load_balancing()) elb.make_request.assert_called_with(*ATTRIBUTE_SET_CZL_FALSE_REQUEST) + def test_lb_get_connection_settings(self): + """Tests checking connectionSettings attribute""" + mock_response, elb, _ = self._setup_mock() + + attrs = [('idle_timeout', 30), ] + mock_response.read.return_value = ATTRIBUTE_GET_CS_RESPONSE + attributes = elb.get_all_lb_attributes('test_elb') + self.assertTrue(isinstance(attributes, LbAttributes)) + for attr, value in attrs: + self.assertEqual(getattr(attributes.connecting_settings, attr), value) + if __name__ == '__main__': unittest.main() |