'This tests executes a method in the DataMotionMixin.'

def test_failover_host_unable_to_failover(self):

    self.driver.backend_name = 'dev0'
    self.mock_object(data_motion.DataMotionMixin, '_complete_failover', side_effect=exception.NetAppDriverException)
    self.mock_object(data_motion.DataMotionMixin, 'get_replication_backend_names', return_value=['dev1', 'dev2'])
    self.mock_object(self.driver.ssc_library, 'get_ssc_flexvol_names', return_value=fake_ssc.SSC.keys())
    self.mock_object(self.driver, '_update_zapi_client')
    self.assertRaises(exception.UnableToFailOver, self.driver.failover_host, 'fake_context', [], secondary_id='dev1')
    data_motion.DataMotionMixin._complete_failover.assert_called_once_with('dev0', ['dev1', 'dev2'], fake_ssc.SSC.keys(), [], failover_target='dev1')
    self.assertFalse(self.driver._update_zapi_client.called)
