'Initialise variables and mock functions.'

def setUp(self):

    super(CreateCloneVolumeTestCase, self).setUp()
    self.dest_volume = fake_volume.fake_volume_obj(self.ctx)
    mock.patch.object(self.requester, 'volumeClone', self.clone_request).start()
    mock.patch.object(self.requester, 'cloneDetail', self.clone_detail_request).start()
    mock.patch.object(self.requester, 'volumeDetailByName', self.volume_detail_request).start()
    self.volume_detail_response = {'status': 0, 'volumeInfoResult': {'volumeId': 1234567}}
    clone_success = copy.deepcopy(self.FAKE_RESPONSE['standard']['success'])
    clone_pending = copy.deepcopy(self.FAKE_RESPONSE['standard']['success'])
    clone_fail = copy.deepcopy(self.FAKE_RESPONSE['standard']['success'])
    clone_response_fail = copy.deepcopy(self.FAKE_RESPONSE['standard']['success'])
    clone_success['result'] = six.text_type(self.DETAIL_OPTIONS['success'])
    clone_pending['result'] = six.text_type(self.DETAIL_OPTIONS['pending'])
    clone_fail['result'] = six.text_type(self.DETAIL_OPTIONS['failure'])
    clone_response_fail['status'] = 1
    self.FAKE_RESPONSE['clone_detail'] = {'success': clone_success, 'fail': clone_fail, 'pending': clone_pending, 'request_fail': clone_response_fail}
    self.response = self.FAKE_RESPONSE['standard']['success']
    self.response['result'] = '1234'
    self.response_detail = self.FAKE_RESPONSE['clone_detail']['success']
    self.test_pending = False
    self.test_pending_count = 0
