def test_no_location_or_file(self, mock_image_list): mock_image_list.side_effect = [ [self.images.list(), False, False], [self.images.list(), False, False] ] image_calls = [ mock.call(test.IsA(dict), filters={'disk_format': 'aki'}), mock.call(test.IsA(dict), filters={'disk_format': 'ari'}) ] post = { 'name': u'Ubuntu 11.10', 'source_type': u'file', 'description': u'Login with admin/admin', 'disk_format': u'qcow2', 'architecture': u'x86-64', 'minimum_disk': 15, 'minimum_ram': 512, 'is_public': 1} files = {} form = forms.CreateImageForm(post, files) self.assertFalse(form.is_valid()) mock_image_list.assert_has_calls(image_calls)
def test_image_upload_disabled(self, mock_image_list): mock_image_list.side_effect = [[self.images.list(), False, False], [self.images.list(), False, False]] image_calls = [ mock.call(test.IsA(dict), filters={'disk_format': 'aki'}), mock.call(test.IsA(dict), filters={'disk_format': 'ari'}) ] form = forms.CreateImageForm({}) self.assertEqual( isinstance(form.fields['image_file'].widget, HiddenInput), True) source_type_dict = dict(form.fields['source_type'].choices) self.assertNotIn('file', source_type_dict) mock_image_list.assert_has_calls(image_calls)
def test_absolute_limits_with_negative_values(self, mock_cinderclient): values = {"maxTotalVolumes": -1, "totalVolumesUsed": -1} expected_results = { "maxTotalVolumes": float("inf"), "totalVolumesUsed": 0 } class AbsoluteLimit(object): def __init__(self, absolute): self.absolute = absolute class FakeLimit(object): def __init__(self, name, value): self.name = name self.value = value fake_limits = [FakeLimit(k, v) for k, v in values.items()] cinderclient = mock_cinderclient.return_value mock_limit = cinderclient.limits.get mock_limit.return_value = AbsoluteLimit(fake_limits) ret_val = api.cinder.tenant_absolute_limits(self.request) for key in expected_results: self.assertEqual(expected_results[key], ret_val[key]) mock_limit.assert_called_once() mock_cinderclient.assert_called_once_with(self.request, ['limits_project_id_query'], message=test.IsA(str))
def test_swift_upload_object(self, mock_swiftclient): container = self.containers.first() obj = self.objects.first() fake_name = 'fake_object.jpg' class FakeFile(object): def __init__(self): self.name = fake_name self.data = obj.data self.size = len(obj.data) headers = {'X-Object-Meta-Orig-Filename': fake_name} swift_api = mock_swiftclient.return_value test_file = FakeFile() swift_api.put_object.return_value = None api.swift.swift_upload_object(self.request, container.name, obj.name, test_file) swift_api.put_object.assert_called_once_with( container.name, obj.name, test.IsA(FakeFile), content_length=test_file.size, headers=headers)
def test_image_create_post_upload_v2(self): temp_file = tempfile.NamedTemporaryFile() temp_file.write(b'123') temp_file.flush() temp_file.seek(0) data = {'source_type': u'file', 'image_file': temp_file} api_data = {'data': test.IsA(InMemoryUploadedFile)} self._test_image_create(data, api_data)
def test_image_create_post_upload_v2(self, mock_schemas_list): mock_schemas_list.return_value = self.image_schemas.first() temp_file = tempfile.NamedTemporaryFile() temp_file.write(b'123') temp_file.flush() temp_file.seek(0) data = {'source_type': 'file', 'image_file': temp_file} api_data = {'data': test.IsA(InMemoryUploadedFile)} self._test_image_create(data, api_data)
def test_image_create_post_with_kernel_ramdisk_v2(self): temp_file = tempfile.NamedTemporaryFile() temp_file.write(b'123') temp_file.flush() temp_file.seek(0) data = { 'source_type': u'file', 'image_file': temp_file, 'kernel_id': '007e7d55-fe1e-4c5c-bf08-44b4a496482e', 'ramdisk_id': '007e7d55-fe1e-4c5c-bf08-44b4a496482a' } api_data = {'data': test.IsA(InMemoryUploadedFile)} self._test_image_create(data, api_data)