def test_lb_add_vip_failed(self,
                            mock_loadbalancer_get,
                            mock_serverfarm_get_all_by_lb_id,
                            mock_virtualserver_pack_extra,
                            mock_virtualserver_create,
                            mock_get_device_driver,
                            mock_create_vip,
                            mock_unpack_extra):
     mock_serverfarm_get_all_by_lb_id.return_value = []
     with self.assertRaises(exc.ServerFarmNotFound):
         api.lb_add_vip(self.conf, 'fakelbid', 'fakevipdict')
     self.assertTrue(mock_loadbalancer_get.called)
     self.assertTrue(mock_serverfarm_get_all_by_lb_id.called)
     self.assertFalse(mock_virtualserver_pack_extra.called)
     self.assertFalse(mock_virtualserver_create.called)
     self.assertFalse(mock_get_device_driver.called)
     self.assertFalse(mock_create_vip.called)
     self.assertFalse(mock_unpack_extra.called)
 def test_lb_add_vip(self,
                     mock_loadbalancer_get,
                     mock_serverfarm_get_all_by_lb_id,
                     mock_virtualserver_pack_extra,
                     mock_virtualserver_create,
                     mock_get_device_driver,
                     mock_create_vip,
                     mock_unpack_extra):
     # Mock
     lb_ref = {
         'id': 'fakelbid',
         'device_id': 'fakedeviceid',
         'protocol': 'HTTP',
     }
     mock_loadbalancer_get.return_value = lb_ref
     sf_ref = mock.MagicMock()
     sf_ref.__getitem__.return_value = 'fakesfid'
     mock_serverfarm_get_all_by_lb_id.return_value = [sf_ref]
     mock_virtualserver_pack_extra.return_value = {}
     mock_virtualserver_create.return_value = vip_ref = mock.Mock()
     ctx = mock.MagicMock()
     ctx.__enter__.return_value = enter_ctx = mock.Mock()
     mock_get_device_driver.return_value = \
         mock.Mock(request_context=mock.Mock(return_value=ctx))
     # Call
     api.lb_add_vip(self.conf, 'fake_tenant', 'fakelbid', 'fakevipdict')
     # Assert
     mock_loadbalancer_get.assert_called_once_with(self.conf,
             'fakelbid', tenant_id='fake_tenant')
     mock_serverfarm_get_all_by_lb_id.assert_called_once_with(self.conf,
                                                              'fakelbid')
     mock_virtualserver_pack_extra.assert_called_once_with('fakevipdict')
     mock_virtualserver_create.assert_called_once_with(self.conf, {
         'lb_id': 'fakelbid',
         'sf_id': 'fakesfid',
         'extra': {
             'protocol': 'HTTP',
         },
     })
     mock_get_device_driver.assert_called_once_with(self.conf,
                                                    'fakedeviceid')
     mock_create_vip.assert_called_once_with(enter_ctx, vip_ref, sf_ref)
     mock_unpack_extra.assert_called_once_with(vip_ref)
 def test_lb_add_vip(self,
                     mock_loadbalancer_get,
                     mock_serverfarm_get_all_by_lb_id,
                     mock_virtualserver_pack_extra,
                     mock_virtualserver_create,
                     mock_get_device_driver,
                     mock_create_vip,
                     mock_unpack_extra):
     # Mock
     mock_loadbalancer_get.return_value = lb_ref = mock.MagicMock()
     lb_ref.__getitem__.side_effect = ['fakelbid1', 'fakelbid2',
                                       'fakedeviceid']
     sf_ref = mock.MagicMock()
     sf_ref.__getitem__.return_value = 'fakesfid'
     mock_serverfarm_get_all_by_lb_id.return_value = [sf_ref]
     mock_virtualserver_pack_extra.return_value = {}
     mock_virtualserver_create.return_value = vip_ref = mock.Mock()
     ctx = mock.MagicMock()
     ctx.__enter__.return_value = enter_ctx = mock.Mock()
     mock_get_device_driver.return_value = \
         mock.Mock(request_context=mock.Mock(return_value=ctx))
     # Call
     api.lb_add_vip(self.conf, 'fakelbid', 'fakevipdict')
     # Assert
     mock_loadbalancer_get.assert_called_once_with(self.conf, 'fakelbid')
     mock_serverfarm_get_all_by_lb_id.assert_called_once_with(self.conf,
                                                              'fakelbid1')
     mock_virtualserver_pack_extra.assert_called_once_with('fakevipdict')
     mock_virtualserver_create.assert_called_once_with(self.conf,
         {'lb_id': 'fakelbid2', 'sf_id': 'fakesfid'})
     mock_get_device_driver.assert_called_once_with(self.conf,
                                                    'fakedeviceid')
     mock_create_vip.assert_called_once_with(enter_ctx, vip_ref, sf_ref)
     mock_unpack_extra.assert_called_once_with(vip_ref)
     self.assertEqual(lb_ref.__getitem__.call_args_list,
                      [mock.call('id'),
                       mock.call('id'),
                       mock.call('device_id')])
Example #4
0
 def create(self, req, lb_id, body):
     LOG.debug("Called create(), req: %r, lb_id: %s, body: %r",
                  req, lb_id, body)
     vip = core_api.lb_add_vip(self.conf, lb_id, body['virtualIp'])
     return {'virtualIp': vip}
 def addVIP(self, req, lb_id, body):
     logger.debug("Called addVIP(), req: %r, lb_id: %s, body: %r",
                  req, lb_id, body)
     vip = core_api.lb_add_vip(self.conf, lb_id, body['virtualIp'])
     return {'virtualIp': vip}