def test_image_create_external_upload(self): expected_image = self.images.first() service = base.get_service_from_catalog(self.service_catalog, 'image') base_url = base.get_url_for_service(service, 'RegionOne', 'publicURL') file_upload_url = '%s/v1/images/%s' % (base_url, expected_image.id) glanceclient = self.stub_glanceclient() glanceclient.images = self.mox.CreateMockAnything() glanceclient.images.create().AndReturn(expected_image) self.mox.ReplayAll() actual_image = api.glance.image_create(self.request, data='sample.iso') actual_image_dict = actual_image.to_dict() self.assertEqual(file_upload_url, actual_image_dict['upload_url']) self.assertEqual(self.request.user.token.id, actual_image_dict['token_id'])
def _test_image_create_external_upload(self, api_version=2): expected_image = self.images.first() service = base.get_service_from_catalog(self.service_catalog, 'image') base_url = base.get_url_for_service(service, 'RegionOne', 'publicURL') if api_version == 1: url_template = '%s/v1/images/%s' else: url_template = '%s/v2/images/%s/file' upload_url = url_template % (base_url, expected_image.id) glanceclient = self.stub_glanceclient() glanceclient.images = self.mox.CreateMockAnything() glanceclient.images.create().AndReturn(expected_image) self.mox.ReplayAll() actual_image = api.glance.image_create(self.request, data='sample.iso') self.assertEqual(upload_url, actual_image.upload_url) self.assertEqual(self.request.user.token.id, actual_image.token_id)
def _test_image_create_external_upload(self, mock_glanceclient, api_version=2): expected_image = self.images.first() service = base.get_service_from_catalog(self.service_catalog, 'image') base_url = base.get_url_for_service(service, 'RegionOne', 'publicURL') if api_version == 1: url_template = '%s/v1/images/%s' else: url_template = '%s/v2/images/%s/file' upload_url = url_template % (base_url, expected_image.id) glanceclient = mock_glanceclient.return_value mock_image_create = glanceclient.images.create mock_image_create.return_value = expected_image actual_image = api.glance.image_create(self.request, data='sample.iso') mock_image_create.assert_called_once() self.assertEqual(upload_url, actual_image.upload_url) self.assertEqual(self.request.user.token.id, actual_image.token_id)