'retype thin volume to thick volume located in specific area.'

@mock.patch.object(helper.DS8KCommonHelper, 'get_flashcopy')
@mock.patch.object(helper.DS8KCommonHelper, 'get_lun_pool')
@mock.patch.object(eventlet, 'sleep')
def test_retype_thin_vol_to_thick_vol_in_specific_area(self, mock_sleep, mock_get_lun_pool, mock_get_flashcopy):

    self.driver = FakeDS8KProxy(self.storage_info, self.logger, self.exception, self)
    self.driver.setup(self.ctxt)
    new_type = {}
    diff = {'encryption': {}, 'qos_specs': {}, 'extra_specs': {'drivers:thin_provision': ('True', 'False'), 'drivers:storage_pool_ids': (None, TEST_POOL_ID_1), 'drivers:storage_lss_ids': (None, TEST_LSS_ID_1)}}
    host = None
    vol_type = volume_types.create(self.ctxt, 'VOL_TYPE', {'drivers:thin_provision': 'False'})
    location = six.text_type({'vol_hex_id': '0400'})
    volume = self._create_volume(volume_type_id=vol_type.id, provider_location=location)
    mock_get_flashcopy.side_effect = [[TEST_FLASHCOPY], {}]
    mock_get_lun_pool.return_value = {'id': TEST_POOL_ID_1}
    (retyped, retype_model_update) = self.driver.retype(self.ctxt, volume, new_type, diff, host)
    location = ast.literal_eval(retype_model_update['provider_location'])
    self.assertEqual(TEST_LSS_ID_1, location['vol_hex_id'][:2])
    self.assertTrue(retyped)
