'lun full clone to new volume completes successfully.'

@ddt.data(2, 10)
def test_create_lun_from_lun_on_a_storage_pool_and_resize(self, size):

    larger_size_flag = False
    dest_vol = VOLUME.copy()
    if (size > VOLUME['size']):
        dest_vol['size'] = size
        larger_size_flag = True
    dest_vol['volume_type_id'] = fake.VOLUME_TYPE_ID
    object_id = fake.OBJECT_ID
    lun_info_response = {'subType': 'THICK'}
    copy_response = {'success': True, 'object_id': object_id, 'msg': 'Copy    Snapshot    resource    successfully'}
    conf = {'lun.get_lun_info.return_value': lun_info_response, 'lun.copy_lun_to_new_lun.return_value': copy_response}
    self.driver.vmem_mg = self.setup_mock_concerto(m_conf=conf)
    self.driver._ensure_snapshot_resource_area = mock.Mock()
    self.driver._wait_for_lun_or_snap_copy = mock.Mock()
    self.driver._extend_lun = mock.Mock()
    self.driver._get_violin_extra_spec = mock.Mock(return_value='StoragePool')
    self.driver._get_storage_pool = mock.Mock(return_value=DEFAULT_THIN_POOL)
    self.driver._get_volume_type_extra_spec = mock.Mock(side_effect=['True', 'False'])
    result = self.driver._create_lun_from_lun(SRC_VOL, dest_vol)
    self.driver._ensure_snapshot_resource_area.assert_called_with(SRC_VOL['id'])
    self.driver.vmem_mg.lun.copy_lun_to_new_lun.assert_called_with(source=SRC_VOL['id'], destination=dest_vol['id'], storage_pool_id=99)
    self.driver._wait_for_lun_or_snap_copy.assert_called_with(SRC_VOL['id'], dest_obj_id=object_id)
    if larger_size_flag:
        self.driver._extend_lun.assert_called_once_with(dest_vol, dest_vol['size'])
    else:
        self.assertFalse(self.driver._extend_lun.called)
    self.assertIsNone(result)
