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)
Example #2
0
    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)
Example #3
0
    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)
Example #6
0
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)
Example #10
0
    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)
Example #12
0
    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))
Example #16
0
    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)
Example #17
0
    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)