diff options
author | Chris Moyer <kopertop@gmail.com> | 2013-02-26 11:09:12 -0800 |
---|---|---|
committer | Chris Moyer <kopertop@gmail.com> | 2013-02-26 11:09:12 -0800 |
commit | 77e11457169c39ebff4992271e367b84d89eecb9 (patch) | |
tree | 1b97aaa54c5637fb1067137493e1cee65808f24a | |
parent | 726d78adbe6d6737c02f5fbe6be76be9538ec68f (diff) | |
parent | 865ee43d2e97db3edc31c2b5fbd9cb69c7c281c2 (diff) | |
download | boto-77e11457169c39ebff4992271e367b84d89eecb9.tar.gz |
Merge pull request #1358 from itsdawomb/develop
Don't delete all load balancers when running unit tests for ELB
-rw-r--r-- | tests/integration/ec2/elb/test_connection.py | 102 |
1 files changed, 47 insertions, 55 deletions
diff --git a/tests/integration/ec2/elb/test_connection.py b/tests/integration/ec2/elb/test_connection.py index 2d574d98..618d0ce9 100644 --- a/tests/integration/ec2/elb/test_connection.py +++ b/tests/integration/ec2/elb/test_connection.py @@ -30,15 +30,23 @@ from boto.ec2.elb import ELBConnection class ELBConnectionTest(unittest.TestCase): ec2 = True + def setup(self): + """Creates a named load balancer that can be safely + deleted at the end of each test""" + self.conn = ELBConnection() + self.name = 'elb-boto-unit-test' + self.availability_zones = ['us-east-1a'] + self.listeners = [(80, 8000, 'HTTP')] + self.balancer = self.conn.create_load_balancer(name, availability_zones, listeners) + def tearDown(self): - """ Deletes all load balancers after every test. """ - for lb in ELBConnection().get_all_load_balancers(): - lb.delete() + """ Deletes the test load balancer after every test. + It does not delete EVERY load balancer in your account""" + self.balancer.delete() def test_build_list_params(self): - c = ELBConnection() params = {} - c.build_list_params( + self.conn.build_list_params( params, ['thing1', 'thing2', 'thing3'], 'ThingName%d') expected_params = { 'ThingName1': 'thing1', @@ -52,76 +60,60 @@ class ELBConnectionTest(unittest.TestCase): # balancer.dns_name, along the lines of the existing EC2 unit tests. def test_create_load_balancer(self): - c = ELBConnection() - name = 'elb-boto-unit-test' - availability_zones = ['us-east-1a'] - listeners = [(80, 8000, 'HTTP')] - balancer = c.create_load_balancer(name, availability_zones, listeners) - self.assertEqual(balancer.name, name) - self.assertEqual(balancer.availability_zones, availability_zones) - self.assertEqual(balancer.listeners, listeners) - - balancers = c.get_all_load_balancers() - self.assertEqual([lb.name for lb in balancers], [name]) + self.assertEqual(self.balancer.name, self.name) + self.assertEqual(self.balancer.availability_zones,\ + self.availability_zones) + self.assertEqual(self.balancer.listeners, self.listeners) - def test_create_load_balancer_listeners(self): - c = ELBConnection() - name = 'elb-boto-unit-test' - availability_zones = ['us-east-1a'] - listeners = [(80, 8000, 'HTTP')] - balancer = c.create_load_balancer(name, availability_zones, listeners) + balancers = self.conn.get_all_load_balancers() + self.assertEqual([lb.name for lb in balancers], [self.name]) + def test_create_load_balancer_listeners(self): more_listeners = [(443, 8001, 'HTTP')] - c.create_load_balancer_listeners(name, more_listeners) - balancers = c.get_all_load_balancers() - self.assertEqual([lb.name for lb in balancers], [name]) + self.conn.create_load_balancer_listeners(self.name, more_listeners) + balancers = self.conn.get_all_load_balancers() + self.assertEqual([lb.name for lb in balancers], [self.name]) self.assertEqual( sorted(l.get_tuple() for l in balancers[0].listeners), - sorted(listeners + more_listeners) + sorted(self.listeners + more_listeners) ) def test_delete_load_balancer_listeners(self): - c = ELBConnection() - name = 'elb-boto-unit-test' - availability_zones = ['us-east-1a'] - listeners = [(80, 8000, 'HTTP'), (443, 8001, 'HTTP')] - balancer = c.create_load_balancer(name, availability_zones, listeners) - - balancers = c.get_all_load_balancers() - self.assertEqual([lb.name for lb in balancers], [name]) + mod_listeners = [(80, 8000, 'HTTP'), (443, 8001, 'HTTP')] + mod_name = self.name + "_mod" + self.mod_balancer = self.conn.create_load_balancer(mod_name,\ + self.availability_zones, mod_listeners) + + mod_balancers = self.conn.get_all_load_balancers(load_balancer_names=[mod_name]) + self.assertEqual([lb.name for lb in mod_balancers], [mod_name]) self.assertEqual( - sorted([l.get_tuple() for l in balancers[0].listeners]), - sorted(listeners)) + sorted([l.get_tuple() for l in mod_balancers[0].listeners]), + sorted(mod_listeners)) - c.delete_load_balancer_listeners(name, [443]) - balancers = c.get_all_load_balancers() - self.assertEqual([lb.name for lb in balancers], [name]) - self.assertEqual([l.get_tuple() for l in balancers[0].listeners], - listeners[:1]) + self.conn.delete_load_balancer_listeners(self.mod_balancer.name, [443]) + mod_balancers = self.conn.get_all_load_balancers(load_balancer_names=[mod_name]) + self.assertEqual([lb.name for lb in mod_balancers], [mod_name]) + self.assertEqual([l.get_tuple() for l in mod_balancers[0].listeners], + mod_listeners[:1]) + self.mod_balancer.delete() def test_create_load_balancer_listeners_with_policies(self): - c = ELBConnection() - name = 'elb-boto-unit-test-policy' - availability_zones = ['us-east-1a'] - listeners = [(80, 8000, 'HTTP')] - balancer = c.create_load_balancer(name, availability_zones, listeners) - more_listeners = [(443, 8001, 'HTTP')] - c.create_load_balancer_listeners(name, more_listeners) + self.conn.create_load_balancer_listeners(self.name, more_listeners) lb_policy_name = 'lb-policy' - c.create_lb_cookie_stickiness_policy(1000, name, lb_policy_name) - c.set_lb_policies_of_listener(name, listeners[0][0], lb_policy_name) + self.conn.create_lb_cookie_stickiness_policy(1000, self.name, lb_policy_name) + self.conn.set_lb_policies_of_listener(self.name, self.listeners[0][0], lb_policy_name) app_policy_name = 'app-policy' - c.create_app_cookie_stickiness_policy('appcookie', name, app_policy_name) - c.set_lb_policies_of_listener(name, more_listeners[0][0], app_policy_name) + self.conn.create_app_cookie_stickiness_policy('appcookie', self.name, app_policy_name) + self.conn.set_lb_policies_of_listener(self.name, more_listeners[0][0], app_policy_name) - balancers = c.get_all_load_balancers() - self.assertEqual([lb.name for lb in balancers], [name]) + balancers = self.conn.get_all_load_balancers(load_balancer_names=[self.name]) + self.assertEqual([lb.name for lb in balancers], [self.name]) self.assertEqual( sorted(l.get_tuple() for l in balancers[0].listeners), - sorted(listeners + more_listeners) + sorted(self.listeners + more_listeners) ) # Policy names should be checked here once they are supported # in the Listener object. |