Esempio n. 1
0
    def test_image_detail_invalid_marker(self):
        class InvalidImageService(object):
            def detail(self, *args, **kwargs):
                raise exception.Invalid('meow')

        request = fakes.HTTPRequest.blank('/v2/images?marker=invalid')
        controller = images.Controller(image_service=InvalidImageService())
        self.assertRaises(webob.exc.HTTPBadRequest, controller.detail, request)
Esempio n. 2
0
 def test_image_detail_no_filters(self):
     image_service = self.mox.CreateMockAnything()
     filters = {}
     request = fakes.HTTPRequest.blank('/v2/fake/images/detail')
     context = request.environ['nova.context']
     image_service.detail(context, filters=filters).AndReturn([])
     self.mox.ReplayAll()
     controller = images.Controller(image_service=image_service)
     controller.detail(request)
Esempio n. 3
0
 def test_image_detail_filter_with_type(self):
     image_service = self.mox.CreateMockAnything()
     filters = {'property-image_type': 'BASE'}
     request = fakes.HTTPRequest.blank('/v2/fake/images/detail?type=BASE')
     context = request.environ['nova.context']
     image_service.detail(context, filters=filters).AndReturn([])
     self.mox.ReplayAll()
     controller = images.Controller(image_service=image_service)
     controller.detail(request)
Esempio n. 4
0
 def test_image_detail_filter_not_supported(self):
     image_service = self.mox.CreateMockAnything()
     filters = {'status': 'active'}
     request = fakes.HTTPRequest.blank('/v2/fake/images/detail?status='
                                       'ACTIVE&UNSUPPORTEDFILTER=testname')
     context = request.environ['nova.context']
     image_service.detail(context, filters=filters).AndReturn([])
     self.mox.ReplayAll()
     controller = images.Controller(image_service=image_service)
     controller.detail(request)
Esempio n. 5
0
 def test_image_detail_filter_changes_since(self):
     image_service = self.mox.CreateMockAnything()
     filters = {'changes-since': '2011-01-24T17:08Z'}
     request = fakes.HTTPRequest.blank('/v2/fake/images/detail'
                                       '?changes-since=2011-01-24T17:08Z')
     context = request.environ['nova.context']
     image_service.detail(context, filters=filters).AndReturn([])
     self.mox.ReplayAll()
     controller = images.Controller(image_service=image_service)
     controller.detail(request)
Esempio n. 6
0
 def test_image_detail_filter_server_uuid(self):
     image_service = self.mox.CreateMockAnything()
     uuid = 'fa95aaf5-ab3b-4cd8-88c0-2be7dd051aaf'
     url = '/v2/fake/images/detail?server=' + uuid
     filters = {'property-instance_uuid': uuid}
     request = fakes.HTTPRequest.blank(url)
     context = request.environ['nova.context']
     image_service.detail(context, filters=filters).AndReturn([])
     self.mox.ReplayAll()
     controller = images.Controller(image_service=image_service)
     controller.detail(request)
Esempio n. 7
0
    def setUp(self):
        """Run before each test."""
        super(ImagesControllerTest, self).setUp()
        fakes.stub_out_networking(self.stubs)
        fakes.stub_out_rate_limiting(self.stubs)
        fakes.stub_out_key_pair_funcs(self.stubs)
        fakes.stub_out_compute_api_snapshot(self.stubs)
        fakes.stub_out_compute_api_backup(self.stubs)
        fakes.stub_out_glance(self.stubs)

        self.controller = images.Controller()
Esempio n. 8
0
    def setUp(self):
        """Run before each test."""
        super(ImagesControllerTest, self).setUp()
        fakes.stub_out_networking(self.stubs)
        fakes.stub_out_rate_limiting(self.stubs)
        fakes.stub_out_key_pair_funcs(self.stubs)
        fakes.stub_out_compute_api_snapshot(self.stubs)
        fakes.stub_out_compute_api_backup(self.stubs)
        fakes.stub_out_glance(self.stubs)

        self.controller = images.Controller()
        self.uuid = 'fa95aaf5-ab3b-4cd8-88c0-2be7dd051aaf'
        self.url = '/v2/fake/images/detail?server=' + self.uuid
        self.server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74"
        self.server_href = ("http://localhost/v2/fake/servers/" +
                            self.server_uuid)
        self.server_bookmark = ("http://localhost/fake/servers/" +
                                self.server_uuid)
        self.alternate = "%s/fake/images/%s"
        self.fake_req = fakes.HTTPRequest.blank('/v2/fake/images/123')
        self.actual_image = self.controller.show(self.fake_req, '124')

        self.expected_image_123 = {
            "image": {
                'id':
                '123',
                'name':
                'public image',
                'metadata': {
                    'key1': 'value1'
                },
                'updated':
                NOW_API_FORMAT,
                'created':
                NOW_API_FORMAT,
                'status':
                'ACTIVE',
                'minDisk':
                10,
                'progress':
                100,
                'minRam':
                128,
                "links": [{
                    "rel": "self",
                    "href": "http://localhost/v2/fake/images/123",
                }, {
                    "rel": "bookmark",
                    "href": "http://localhost/fake/images/123",
                }, {
                    "rel":
                    "alternate",
                    "type":
                    "application/vnd.openstack.image",
                    "href":
                    self.alternate % (glance.generate_glance_url(), 123),
                }],
            },
        }

        self.expected_image_124 = {
            "image": {
                'id':
                '124',
                'name':
                'queued snapshot',
                'metadata': {
                    u'instance_uuid': self.server_uuid,
                    u'user_id': u'fake',
                },
                'updated':
                NOW_API_FORMAT,
                'created':
                NOW_API_FORMAT,
                'status':
                'SAVING',
                'progress':
                25,
                'minDisk':
                0,
                'minRam':
                0,
                'server': {
                    'id':
                    self.server_uuid,
                    "links": [{
                        "rel": "self",
                        "href": self.server_href,
                    }, {
                        "rel": "bookmark",
                        "href": self.server_bookmark,
                    }],
                },
                "links": [{
                    "rel": "self",
                    "href": "http://localhost/v2/fake/images/124",
                }, {
                    "rel": "bookmark",
                    "href": "http://localhost/fake/images/124",
                }, {
                    "rel":
                    "alternate",
                    "type":
                    "application/vnd.openstack.image",
                    "href":
                    self.alternate % (glance.generate_glance_url(), 124),
                }],
            },
        }

        self.image_service = self.mox.CreateMockAnything()
Esempio n. 9
0
 def _detail_request(self, filters, request):
     context = request.environ['nova.context']
     self.image_service.detail(context, filters=filters).AndReturn([])
     self.mox.ReplayAll()
     controller = images.Controller(image_service=self.image_service)
     controller.detail(request)