def test_list_objects_full_listing(self): def side_effect(*args, **kwargs): rv = self.app.restapi.list.return_value self.app.restapi.list.return_value = [] self.app.restapi.list.side_effect = None return rv resp = [{'name': 'is-name'}] self.app.restapi.list.return_value = resp self.app.restapi.list.side_effect = side_effect data = lib_object.list_objects( self.app.restapi, fake_url, fake_container, full_listing=True, ) # Check expected values self.app.restapi.list.assert_called_with( fake_url + '/' + fake_container, params={ 'format': 'json', 'marker': 'is-name', } ) self.assertEqual(data, resp)
def test_list_objects_full_listing(self): sess = self.app.client_manager.session def side_effect(*args, **kwargs): rv = sess.get().json.return_value sess.get().json.return_value = [] sess.get().json.side_effect = None return rv resp = [{'name': 'is-name'}] sess.get().json.return_value = resp sess.get().json.side_effect = side_effect data = lib_object.list_objects( sess, fake_url, fake_container, full_listing=True, ) # Check expected values sess.get.assert_called_with(fake_url + '/' + fake_container, params={ 'format': 'json', 'marker': 'is-name', }) self.assertEqual(resp, data)
def test_list_objects_full_listing(self): def side_effect(*args, **kwargs): rv = self.app.restapi.list.return_value self.app.restapi.list.return_value = [] self.app.restapi.list.side_effect = None return rv resp = [{'name': 'is-name'}] self.app.restapi.list.return_value = resp self.app.restapi.list.side_effect = side_effect data = lib_object.list_objects( self.app.restapi, fake_url, fake_container, full_listing=True, ) # Check expected values self.app.restapi.list.assert_called_with(fake_url + '/' + fake_container, params={ 'format': 'json', 'marker': 'is-name', }) self.assertEqual(data, resp)
def test_list_objects_full_listing(self): def side_effect(*args, **kwargs): rv = self.app.restapi.request.return_value self.app.restapi.request.return_value = restapi.FakeResponse( data=[], ) self.app.restapi.request.side_effect = None return rv resp = [{'name': 'is-name'}] self.app.restapi.request.return_value = restapi.FakeResponse(data=resp) self.app.restapi.request.side_effect = side_effect data = lib_object.list_objects( self.app.restapi, self.app.client_manager.object.endpoint, fake_container, full_listing=True, ) # Check expected values self.app.restapi.request.assert_called_with( 'GET', fake_url + '/' + fake_container + '?format=json&marker=is-name', ) self.assertEqual(data, resp)
def test_list_objects_full_listing(self): sess = self.app.client_manager.session def side_effect(*args, **kwargs): rv = sess.get().json.return_value sess.get().json.return_value = [] sess.get().json.side_effect = None return rv resp = [{'name': 'is-name'}] sess.get().json.return_value = resp sess.get().json.side_effect = side_effect data = lib_object.list_objects( sess, fake_url, fake_container, full_listing=True, ) # Check expected values sess.get.assert_called_with( fake_url + '/' + fake_container, params={ 'format': 'json', 'marker': 'is-name', } ) self.assertEqual(resp, data)
def save_container(session, url, container): """Save all the content from a container :param session: an authenticated keystoneclient.session.Session object :param url: endpoint :param container: name of container to save """ objects = object_lib.list_objects(session, url, container) for object in objects: object_lib.save_object(session, url, container, object['name'])
def save_container( session, url, container ): """Save all the content from a container :param session: an authenticated keystoneclient.session.Session object :param url: endpoint :param container: name of container to save """ objects = object_lib.list_objects(session, url, container) for object in objects: object_lib.save_object(session, url, container, object['name'])
def test_list_objects_no_options(self): resp = [{'name': 'is-name'}] self.app.restapi.request.return_value = restapi.FakeResponse(data=resp) data = lib_object.list_objects( self.app.restapi, self.app.client_manager.object.endpoint, fake_container, ) # Check expected values self.app.restapi.request.assert_called_with( 'GET', fake_url + '/' + fake_container + '?format=json', ) self.assertEqual(data, resp)
def test_list_objects_limit(self): resp = [{'name': 'is-name'}] self.app.restapi.request.return_value = restapi.FakeResponse(data=resp) data = lib_object.list_objects( self.app.restapi, fake_url, fake_container, limit=5, ) # Check expected values self.app.restapi.request.assert_called_with( 'GET', fake_url + '/' + fake_container + '?format=json&limit=5', ) self.assertEqual(data, resp)
def test_list_objects_no_options(self): resp = [{'name': 'is-name'}] self.app.restapi.list.return_value = resp data = lib_object.list_objects( self.app.restapi, fake_url, fake_container, ) # Check expected values self.app.restapi.list.assert_called_with(fake_url + '/' + fake_container, params={ 'format': 'json', }) self.assertEqual(data, resp)
def test_list_objects_no_options(self): resp = [{'name': 'is-name'}] self.app.restapi.list.return_value = resp data = lib_object.list_objects( self.app.restapi, fake_url, fake_container, ) # Check expected values self.app.restapi.list.assert_called_with( fake_url + '/' + fake_container, params={ 'format': 'json', } ) self.assertEqual(data, resp)
def test_list_objects_no_options(self): resp = [{'name': 'is-name'}] self.app.client_manager.session.get().json.return_value = resp data = lib_object.list_objects( self.app.client_manager.session, fake_url, fake_container, ) # Check expected values self.app.client_manager.session.get.assert_called_with(fake_url + '/' + fake_container, params={ 'format': 'json', }) self.assertEqual(resp, data)
def test_list_objects_no_options(self): resp = [{'name': 'is-name'}] self.app.client_manager.session.get().json.return_value = resp data = lib_object.list_objects( self.app.client_manager.session, fake_url, fake_container, ) # Check expected values self.app.client_manager.session.get.assert_called_with( fake_url + '/' + fake_container, params={ 'format': 'json', } ) self.assertEqual(resp, data)
def test_list_objects_delimiter(self): resp = [{'name': 'is-name'}] self.app.restapi.request.return_value = restapi.FakeResponse(data=resp) data = lib_object.list_objects( self.app.restapi, self.app.client_manager.object.endpoint, fake_container, delimiter='|', ) # Check expected values # NOTE(dtroyer): requests handles the URL encoding and we're # mocking that so use the otherwise-not-legal # pipe '|' char in the response. self.app.restapi.request.assert_called_with( 'GET', fake_url + '/' + fake_container + '?format=json&delimiter=|', ) self.assertEqual(data, resp)
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) if parsed_args.long: columns = ( 'Name', 'Bytes', 'Hash', 'Content Type', 'Last Modified', ) else: columns = ('Name',) kwargs = {} if parsed_args.prefix: kwargs['prefix'] = parsed_args.prefix if parsed_args.delimiter: kwargs['delimiter'] = parsed_args.delimiter if parsed_args.marker: kwargs['marker'] = parsed_args.marker if parsed_args.end_marker: kwargs['end_marker'] = parsed_args.end_marker if parsed_args.limit: kwargs['limit'] = parsed_args.limit if parsed_args.all: kwargs['full_listing'] = True data = lib_object.list_objects( self.app.restapi, self.app.client_manager.object_store.endpoint, parsed_args.container, **kwargs ) return (columns, (utils.get_dict_properties( s, columns, formatters={}, ) for s in data))
def test_list_objects_delimiter(self): resp = [{'name': 'is-name'}] self.app.restapi.list.return_value = resp data = lib_object.list_objects( self.app.restapi, fake_url, fake_container, delimiter='|', ) # Check expected values # NOTE(dtroyer): requests handles the URL encoding and we're # mocking that so use the otherwise-not-legal # pipe '|' char in the response. self.app.restapi.list.assert_called_with(fake_url + '/' + fake_container, params={ 'format': 'json', 'delimiter': '|', }) self.assertEqual(data, resp)
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) if parsed_args.long: columns = ( 'Name', 'Bytes', 'Hash', 'Content Type', 'Last Modified', ) else: columns = ('Name', ) kwargs = {} if parsed_args.prefix: kwargs['prefix'] = parsed_args.prefix if parsed_args.delimiter: kwargs['delimiter'] = parsed_args.delimiter if parsed_args.marker: kwargs['marker'] = parsed_args.marker if parsed_args.end_marker: kwargs['end_marker'] = parsed_args.end_marker if parsed_args.limit: kwargs['limit'] = parsed_args.limit if parsed_args.all: kwargs['full_listing'] = True data = lib_object.list_objects( self.app.client_manager.session, self.app.client_manager.object_store.endpoint, parsed_args.container, **kwargs) return (columns, (utils.get_dict_properties( s, columns, formatters={}, ) for s in data))
def test_list_objects_delimiter(self): resp = [{'name': 'is-name'}] self.app.client_manager.session.get().json.return_value = resp data = lib_object.list_objects( self.app.client_manager.session, fake_url, fake_container, delimiter='|', ) # Check expected values # NOTE(dtroyer): requests handles the URL encoding and we're # mocking that so use the otherwise-not-legal # pipe '|' char in the response. self.app.client_manager.session.get.assert_called_with( fake_url + '/' + fake_container, params={ 'format': 'json', 'delimiter': '|', } ) self.assertEqual(resp, data)