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)
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)
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)
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)
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)
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)
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()
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()
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)