def test_build_config(self, fake_network_config): fake_client = mock.Mock() fake_lb = fakes.fake_loadbalancer() fake_lb_net = mock.Mock() fake_mgt_net = mock.Mock() fake_mgt_port = mock.Mock( network_id='fake_mgt_network_id', ) fake_iface_map = { fake_lb.vip_port.network_id: fake_lb_net, fake_mgt_port.network_id: fake_mgt_net, } fake_network_config.side_effect = [ 'fake_lb_net_dict', 'fake_mgt_net_dict' ] res = lb_config.build_config( fake_client, fake_lb, fake_mgt_port, fake_iface_map) expected = { 'hostname': 'ak-loadbalancer-%s' % fake_lb.tenant_id, 'tenant_id': fake_lb.tenant_id, 'networks': ['fake_lb_net_dict', 'fake_mgt_net_dict'], 'services': { 'loadbalancer': fake_lb.to_dict(), } } self.assertEqual(expected, res)
def test_get_state(self, mock_ensure_cache): lb = self._init_driver() fake_lb = fakes.fake_loadbalancer() lb._loadbalancer = fake_lb self.assertEqual( lb.get_state(self.ctx), fake_lb.status, ) mock_ensure_cache.assert_called_with(self.ctx)
def test_synchronize_state(self, mock_ensure_cache): lb = self._init_driver() fake_lb = fakes.fake_loadbalancer() lb._loadbalancer = fake_lb lb.synchronize_state(self.ctx, states.CONFIGURED) mock_ensure_cache.assert_called_with(self.ctx) self.ctx.neutron.update_loadbalancer_status.assert_called_with( lb.id, 'ACTIVE', ) self.assertEqual(lb._last_synced_status, 'ACTIVE')
def test_make_ports(self, mock_ensure_cache): lb = self._init_driver() fake_lb = fakes.fake_loadbalancer() lb._loadbalancer = fake_lb fake_lb_port = mock.Mock(id='fake_lb_port_id') self.ctx.neutron.create_management_port.return_value = 'fake_mgt_port' self.ctx.neutron.create_vrrp_port.return_value = fake_lb_port callback = lb.make_ports(self.ctx) res = callback() self.assertEqual(res, ('fake_mgt_port', [fake_lb_port]))
def test_build_config(self, mock_ensure_cache, mock_build_config): lb = self._init_driver() fake_lb = fakes.fake_loadbalancer() fake_mgt_port = mock.Mock() fake_iface_map = mock.Mock() lb._loadbalancer = fake_lb mock_build_config.return_value = 'fake_config' res = lb.build_config(self.ctx, fake_mgt_port, fake_iface_map) self.assertTrue(mock_ensure_cache.called) mock_build_config.return_value = 'fake_config' mock_build_config.assert_called_with( self.ctx.neutron, lb._loadbalancer, fake_mgt_port, fake_iface_map) self.assertEqual(res, 'fake_config')
def test_get_resource_id_member_msg(self): msg = mock.Mock( body={'member': {'id': 'fake_member_id'}} ) fake_lb = fakes.fake_loadbalancer() self.ctx.neutron.get_loadbalancer_by_member.return_value = fake_lb lb = self._init_driver() self.assertEqual( lb.get_resource_id_for_tenant(self.ctx, 'foo_tenant', msg), fake_lb.id ) self.ctx.neutron.get_loadbalancer_by_member.assert_called_with( 'fake_member_id', 'foo_tenant' )
def test_build_config(self, fake_network_config): fake_client = mock.Mock() fake_lb = fakes.fake_loadbalancer() fake_lb_net = mock.Mock() fake_mgt_net = mock.Mock() fake_mgt_port = mock.Mock(network_id='fake_mgt_network_id', ) fake_iface_map = { fake_lb.vip_port.network_id: fake_lb_net, fake_mgt_port.network_id: fake_mgt_net, } fake_network_config.side_effect = [ 'fake_lb_net_dict', 'fake_mgt_net_dict' ] res = lb_config.build_config(fake_client, fake_lb, fake_mgt_port, fake_iface_map) expected = { 'hostname': 'ak-loadbalancer-%s' % fake_lb.tenant_id, 'tenant_id': fake_lb.tenant_id, 'networks': ['fake_lb_net_dict', 'fake_mgt_net_dict'], 'services': { 'loadbalancer': fake_lb.to_dict(), } } self.assertEqual(res, expected)
def test_ports_with_loadbalancer(self): lb = self._init_driver() fake_lb = fakes.fake_loadbalancer() lb._loadbalancer = fake_lb self.assertEqual(set(lb.ports), set(fake_lb.ports))