Example #1
0
    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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
    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)
Example #5
0
 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)
Example #6
0
 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())