Пример #1
0
    def test_folder_metadata(self, root_provider_fixtures):
        data = FigshareFolderMetadata(root_provider_fixtures['folder_article_metadata'])

        assert data.id == 4040019
        assert data.name == 'folder_article'
        assert data.path == '/4040019/'
        assert data.materialized_path == '/folder_article/'
        assert data.size is None
        assert data.modified == '2016-10-18T20:47:25Z'
        assert data.created_utc is None
        assert data.etag == 'draft::::4040019'
        assert data.kind == 'folder'
        assert data.extra == {
            'id': 4040019,
            'doi': '',
            'status': 'draft'
        }

        assert data.serialized() == {
            'extra': {
                'id': 4040019,
                'doi': '',
                'status': 'draft'
            },
            'kind': 'folder',
            'name': 'folder_article',
            'path': '/4040019/',
            'provider': 'figshare',
            'materialized': '/folder_article/',
            'etag': '6bef522e6f14597fd939b6b5c29e99091dc0b0badcac332da6e75bec0a69cf5e'
        }

        api_url = 'http://localhost:7777/v1/resources/45hjnz/providers/figshare/4040019/'
        assert data.json_api_serialized('45hjnz') == {
            'id': 'figshare/4040019/',
            'type': 'files',
            'attributes': {
                'extra': {
                    'id': 4040019,
                    'doi': '',
                    'status': 'draft'
                },
                'kind': 'folder',
                'name': 'folder_article',
                'path': '/4040019/',
                'provider': 'figshare',
                'materialized': '/folder_article/',
                'etag': '6bef522e6f14597fd939b6b5c29e99091dc0b0badcac332da6e75bec0a69cf5e',
                'resource': '45hjnz',
                'size': None
            },
            'links': {
                'move': api_url,
                'upload': '{}?kind=file'.format(api_url),
                'delete': api_url,
                'new_folder': '{}?kind=folder'.format(api_url),
            }
        }

        assert data._json_api_links('45hjnz') == {
            'move': api_url,
            'upload': '{}?kind=file'.format(api_url),
            'delete': api_url,
            'new_folder': '{}?kind=folder'.format(api_url),
        }
Пример #2
0
    def test_private_folder_metadata(self, project_article_type_3_metadata):
        data = FigshareFolderMetadata(project_article_type_3_metadata['private'])

        assert data.id == 8269766
        assert data.name == 'DatasetPrivate'
        assert data.path == '/8269766/'
        assert data.materialized_path == '/DatasetPrivate/'
        assert data.size is None
        assert data.modified == '2019-06-13T16:00:12Z'
        assert data.created_utc is None
        assert data.etag == 'draft::::8269766'
        assert data.kind == 'folder'
        assert data.extra == {
            'id': 8269766,
            'doi': '',
            'status': 'draft'
        }

        assert data.serialized() == {
            'extra': {
                'id': 8269766,
                'doi': '',
                'status': 'draft'
            },
            'kind': 'folder',
            'name': 'DatasetPrivate',
            'path': '/8269766/',
            'provider': 'figshare',
            'materialized': '/DatasetPrivate/',
            'etag': 'd7dc67b05e9c50c8adefabc9e2ff2cfaabad26913e8c9916396f067216941389'
        }

        api_url = 'http://localhost:7777/v1/resources/45hjnz/providers/figshare/8269766/'
        assert data.json_api_serialized('45hjnz') == {
            'id': 'figshare/8269766/',
            'type': 'files',
            'attributes': {
                'extra': {
                    'id': 8269766,
                    'doi': '',
                    'status': 'draft'
                },
                'kind': 'folder',
                'name': 'DatasetPrivate',
                'path': '/8269766/',
                'provider': 'figshare',
                'materialized': '/DatasetPrivate/',
                'etag': 'd7dc67b05e9c50c8adefabc9e2ff2cfaabad26913e8c9916396f067216941389',
                'resource': '45hjnz',
                'size': None,
                'sizeInt': None,
            },
            'links': {
                'move': api_url,
                'upload': '{}?kind=file'.format(api_url),
                'delete': api_url,
                'new_folder': '{}?kind=folder'.format(api_url),
            }
        }

        assert data._json_api_links('45hjnz') == {
            'move': api_url,
            'upload': '{}?kind=file'.format(api_url),
            'delete': api_url,
            'new_folder': '{}?kind=folder'.format(api_url),
        }
    def test_folder_metadata(self, root_provider_fixtures):
        data = FigshareFolderMetadata(root_provider_fixtures['folder_article_metadata'])

        assert data.id == 4040019
        assert data.name == 'folder_article'
        assert data.path == '/4040019/'
        assert data.materialized_path == '/folder_article/'
        assert data.size is None
        assert data.modified == '2016-10-18T20:47:25Z'
        assert data.created_utc is None
        assert data.etag == 'draft::::4040019'
        assert data.kind == 'folder'
        assert data.extra == {
            'id': 4040019,
            'doi': '',
            'status': 'draft'
        }

        assert data.serialized() == {
            'extra': {
                'id': 4040019,
                'doi': '',
                'status': 'draft'
            },
            'kind': 'folder',
            'name': 'folder_article',
            'path': '/4040019/',
            'provider': 'figshare',
            'materialized': '/folder_article/',
            'etag': '6bef522e6f14597fd939b6b5c29e99091dc0b0badcac332da6e75bec0a69cf5e'
        }

        api_url = 'http://localhost:7777/v1/resources/45hjnz/providers/figshare/4040019/'
        assert data.json_api_serialized('45hjnz') == {
            'id': 'figshare/4040019/',
            'type': 'files',
            'attributes': {
                'extra': {
                    'id': 4040019,
                    'doi': '',
                    'status': 'draft'
                },
                'kind': 'folder',
                'name': 'folder_article',
                'path': '/4040019/',
                'provider': 'figshare',
                'materialized': '/folder_article/',
                'etag': '6bef522e6f14597fd939b6b5c29e99091dc0b0badcac332da6e75bec0a69cf5e',
                'resource': '45hjnz',
                'size': None,
                'sizeInt': None,
            },
            'links': {
                'move': api_url,
                'upload': '{}?kind=file'.format(api_url),
                'delete': api_url,
                'new_folder': '{}?kind=folder'.format(api_url),
            }
        }

        assert data._json_api_links('45hjnz') == {
            'move': api_url,
            'upload': '{}?kind=file'.format(api_url),
            'delete': api_url,
            'new_folder': '{}?kind=folder'.format(api_url),
        }