summaryrefslogtreecommitdiff
path: root/tests/unit/ec2/elb/test_attribute.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/ec2/elb/test_attribute.py')
-rw-r--r--tests/unit/ec2/elb/test_attribute.py38
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()