class CloudStackLBTests(unittest.TestCase): def setUp(self): CloudStackLBDriver.connectionCls.conn_classes = \ (None, CloudStackMockHttp) self.driver = CloudStackLBDriver('apikey', 'secret') self.driver.path = '/test/path' self.driver.type = -1 self.driver.name = 'CloudStack' CloudStackMockHttp.fixture_tag = 'default' self.driver.connection.poll_interval = 0.0 def test_list_supported_algorithms(self): algorithms = self.driver.list_supported_algorithms() self.assertTrue(Algorithm.ROUND_ROBIN in algorithms) self.assertTrue(Algorithm.LEAST_CONNECTIONS in algorithms) def test_list_balancers(self): balancers = self.driver.list_balancers() for balancer in balancers: self.assertTrue(isinstance(balancer, LoadBalancer)) def test_create_balancer(self): members = [Member(1, '1.1.1.1', 80), Member(2, '1.1.1.2', 80)] balancer = self.driver.create_balancer('fake', members) self.assertTrue(isinstance(balancer, LoadBalancer)) def test_destroy_balancer(self): balancer = self.driver.list_balancers()[0] self.driver.destroy_balancer(balancer) def test_balancer_attach_member(self): balancer = self.driver.list_balancers()[0] member = Member(id=1234, ip='1.1.1.1', port=80) balancer.attach_member(member) def test_balancer_detach_member(self): balancer = self.driver.list_balancers()[0] member = balancer.list_members()[0] balancer.detach_member(member) def test_balancer_list_members(self): balancer = self.driver.list_balancers()[0] members = balancer.list_members() for member in members: self.assertTrue(isinstance(member, Member)) self.assertEquals(member.balancer, balancer)
class CloudStackLBTests(unittest.TestCase): def setUp(self): CloudStackLBDriver.connectionCls.conn_classes = \ (None, CloudStackMockHttp) self.driver = CloudStackLBDriver('apikey', 'secret') self.driver.path = '/test/path' self.driver.type = -1 self.driver.name = 'CloudStack' CloudStackMockHttp.fixture_tag = 'default' def test_list_balancers(self): balancers = self.driver.list_balancers() for balancer in balancers: self.assertTrue(isinstance(balancer, LoadBalancer)) def test_create_balancer(self): members = [Member(1, '1.1.1.1', 80), Member(2, '1.1.1.2', 80)] balancer = self.driver.create_balancer('fake', members) self.assertTrue(isinstance(balancer, LoadBalancer)) def test_destroy_balancer(self): balancer = self.driver.list_balancers()[0] self.driver.destroy_balancer(balancer) def test_balancer_attach_member(self): balancer = self.driver.list_balancers()[0] member = Member(id=1234, ip='1.1.1.1', port=80) balancer.attach_member(member) def test_balancer_detach_member(self): balancer = self.driver.list_balancers()[0] member = balancer.list_members()[0] balancer.detach_member(member) def test_balancer_list_members(self): balancer = self.driver.list_balancers()[0] members = balancer.list_members() for member in members: self.assertTrue(isinstance(member, Member))
class CloudStackLBTests(unittest.TestCase): def setUp(self): CloudStackLBDriver.connectionCls.conn_classes = (None, CloudStackMockHttp) self.driver = CloudStackLBDriver("apikey", "secret") self.driver.path = "/test/path" self.driver.type = -1 self.driver.name = "CloudStack" CloudStackMockHttp.fixture_tag = "default" def test_list_balancers(self): balancers = self.driver.list_balancers() for balancer in balancers: self.assertTrue(isinstance(balancer, LoadBalancer)) def test_create_balancer(self): members = [Member(1, "1.1.1.1", 80), Member(2, "1.1.1.2", 80)] balancer = self.driver.create_balancer("fake", members) self.assertTrue(isinstance(balancer, LoadBalancer)) def test_destroy_balancer(self): balancer = self.driver.list_balancers()[0] self.driver.destroy_balancer(balancer) def test_balancer_attach_member(self): balancer = self.driver.list_balancers()[0] member = Member(id=1234, ip="1.1.1.1", port=80) balancer.attach_member(member) def test_balancer_detach_member(self): balancer = self.driver.list_balancers()[0] member = balancer.list_members()[0] balancer.detach_member(member) def test_balancer_list_members(self): balancer = self.driver.list_balancers()[0] members = balancer.list_members() for member in members: self.assertTrue(isinstance(member, Member))
class CloudStackLBTests(unittest.TestCase): def setUp(self): CloudStackLBDriver.connectionCls.conn_class = CloudStackMockHttp CloudStackLBDriver.path = '/test/path' CloudStackLBDriver.type = -1 CloudStackLBDriver.name = 'CloudStack' self.driver = CloudStackLBDriver('apikey', 'secret') CloudStackMockHttp.fixture_tag = 'default' self.driver.connection.poll_interval = 0.0 def test_user_must_provide_host_and_path(self): CloudStackLBDriver.path = None CloudStackLBDriver.type = Provider.CLOUDSTACK expected_msg = 'When instantiating CloudStack driver directly ' + \ 'you also need to provide host and path argument' cls = get_driver(Provider.CLOUDSTACK) assertRaisesRegex(self, Exception, expected_msg, cls, 'key', 'secret') try: cls('key', 'secret', True, 'localhost', '/path') except Exception: self.fail('host and path provided but driver raised an exception') def test_list_supported_algorithms(self): algorithms = self.driver.list_supported_algorithms() self.assertTrue(Algorithm.ROUND_ROBIN in algorithms) self.assertTrue(Algorithm.LEAST_CONNECTIONS in algorithms) def test_list_balancers(self): balancers = self.driver.list_balancers() for balancer in balancers: self.assertTrue(isinstance(balancer, LoadBalancer)) def test_create_balancer(self): members = [Member(1, '1.1.1.1', 80), Member(2, '1.1.1.2', 80)] balancer = self.driver.create_balancer(name='test', algorithm=Algorithm.ROUND_ROBIN, members=members) self.assertTrue(isinstance(balancer, LoadBalancer)) def test_destroy_balancer(self): balancer = self.driver.list_balancers()[0] self.driver.destroy_balancer(balancer) def test_balancer_attach_member(self): balancer = self.driver.list_balancers()[0] member = Member(id=1234, ip='1.1.1.1', port=80) balancer.attach_member(member) def test_balancer_detach_member(self): balancer = self.driver.list_balancers()[0] member = balancer.list_members()[0] balancer.detach_member(member) def test_balancer_list_members(self): balancer = self.driver.list_balancers()[0] members = balancer.list_members() for member in members: self.assertTrue(isinstance(member, Member)) self.assertEqual(member.balancer, balancer)
class CloudStackLBTests(unittest.TestCase): def setUp(self): CloudStackLBDriver.connectionCls.conn_classes = \ (None, CloudStackMockHttp) CloudStackLBDriver.path = '/test/path' CloudStackLBDriver.type = -1 CloudStackLBDriver.name = 'CloudStack' self.driver = CloudStackLBDriver('apikey', 'secret') CloudStackMockHttp.fixture_tag = 'default' self.driver.connection.poll_interval = 0.0 def test_user_must_provide_host_and_path(self): CloudStackLBDriver.path = None CloudStackLBDriver.type = Provider.CLOUDSTACK expected_msg = 'When instantiating CloudStack driver directly ' + \ 'you also need to provide host and path argument' cls = get_driver(Provider.CLOUDSTACK) self.assertRaisesRegexp(Exception, expected_msg, cls, 'key', 'secret') try: cls('key', 'secret', True, 'localhost', '/path') except Exception: self.fail('host and path provided but driver raised an exception') def test_list_supported_algorithms(self): algorithms = self.driver.list_supported_algorithms() self.assertTrue(Algorithm.ROUND_ROBIN in algorithms) self.assertTrue(Algorithm.LEAST_CONNECTIONS in algorithms) def test_list_balancers(self): balancers = self.driver.list_balancers() for balancer in balancers: self.assertTrue(isinstance(balancer, LoadBalancer)) def test_create_balancer(self): members = [Member(1, '1.1.1.1', 80), Member(2, '1.1.1.2', 80)] balancer = self.driver.create_balancer('fake', members) self.assertTrue(isinstance(balancer, LoadBalancer)) def test_destroy_balancer(self): balancer = self.driver.list_balancers()[0] self.driver.destroy_balancer(balancer) def test_balancer_attach_member(self): balancer = self.driver.list_balancers()[0] member = Member(id=1234, ip='1.1.1.1', port=80) balancer.attach_member(member) def test_balancer_detach_member(self): balancer = self.driver.list_balancers()[0] member = balancer.list_members()[0] balancer.detach_member(member) def test_balancer_list_members(self): balancer = self.driver.list_balancers()[0] members = balancer.list_members() for member in members: self.assertTrue(isinstance(member, Member)) self.assertEqual(member.balancer, balancer)