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): """If HORIZON_IMAGES_ALLOW_UPLOAD is false, the image_file field widget will be a HiddenInput widget instead of a FileInput widget. """ 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)
def test_image_upload_disabled(self): filters = {'disk_format': 'aki'} api.glance.image_list_detailed(IsA({}), filters=filters).AndReturn( [self.images.list(), False, False]) filters = {'disk_format': 'ari'} api.glance.image_list_detailed(IsA({}), filters=filters).AndReturn( [self.images.list(), False, False]) self.mox.ReplayAll() 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)
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_no_location_or_file(self): """The form will not be valid if both copy_from and image_file are not provided. """ 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.assertEqual(form.is_valid(), False)
def test_no_location_or_file(self): filters = {'disk_format': 'aki'} api.glance.image_list_detailed(IsA({}), filters=filters).AndReturn( [self.images.list(), False, False]) filters = {'disk_format': 'ari'} api.glance.image_list_detailed(IsA({}), filters=filters).AndReturn( [self.images.list(), False, False]) self.mox.ReplayAll() 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())