def test_create_vip_without_connection(self): with nested( self.subnet(), mock.patch.object(self.driver.plugin._core_plugin, 'get_subnet')) as (subnet, mock_get_subnet): mock_get_subnet.return_value = subnet['subnet'] with self.pool(provider=LBAAS_PROVIDER_NAME) as pool: testvip = self._build_testvip_contents(subnet['subnet'], pool['pool']) expectedvip = self._build_expectedvip_contents( testvip, subnet['subnet']) errorcode = ncc_client.NCCException.CONNECTION_ERROR self.create_resource_mock.side_effect = ( ncc_client.NCCException(errorcode)) # mock the plugin's update_status() self._mock_update_status() # reset the create_resource() mock self.create_resource_mock.reset_mock() # execute the method under test. self.driver.create_vip(self.context, testvip) # First, assert that update_resource was called once # with expected params. self.create_resource_mock.assert_called_once_with( None, netscaler_driver.VIPS_RESOURCE, netscaler_driver.VIP_RESOURCE, expectedvip) #Finally, assert that the vip object is in ERROR state self.mock_update_status_obj.assert_called_once_with( mock.ANY, loadbalancer_db.Vip, testvip['id'], constants.ERROR)
def test_create_pool_with_error(self): with nested( self.subnet(), mock.patch.object(self.driver.plugin._core_plugin, 'get_subnet'), mock.patch.object(self.driver.plugin._core_plugin, 'get_ports'), mock.patch.object(self.driver.plugin._core_plugin, 'create_port')) as (subnet, mock_get_subnet, mock_get_ports, mock_create_port): mock_get_subnet.return_value = subnet['subnet'] mock_get_ports.return_value = None mock_create_port.return_value = TESTPOOL_SNAT_PORT errorcode = ncc_client.NCCException.CONNECTION_ERROR self.create_resource_mock.side_effect = ( ncc_client.NCCException(errorcode)) testpool = self._build_testpool_contents(subnet['subnet']) expectedpool = self._build_expectedpool_contents( testpool, subnet['subnet']) # mock the plugin's update_status() self._mock_update_status() #reset the create_resource() mock self.create_resource_mock.reset_mock() # execute the method under test. self.driver.create_pool(self.context, testpool) # Also assert that create_resource was called once # with expected params. (self.create_resource_mock.assert_called_once_with( None, netscaler_driver.POOLS_RESOURCE, netscaler_driver.POOL_RESOURCE, expectedpool)) #Finally, assert that the pool object is in ERROR state self.mock_update_status_obj.assert_called_once_with( mock.ANY, loadbalancer_db.Pool, expectedpool['id'], constants.ERROR)
def _set_response_error(self, mock_instance): errorcode = ncc_client.NCCException.RESPONSE_ERROR mock_instance.side_effect = (ncc_client.NCCException(errorcode))