Skip to content

Commit

Permalink
add root and subfolder tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Johnetordoff authored and felliott committed Jan 3, 2018
1 parent e20d999 commit a4df848
Showing 1 changed file with 123 additions and 0 deletions.
123 changes: 123 additions & 0 deletions tests/providers/filesystem/test_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,24 @@ def file_metadata():
'modified': 'Wed, 20 Sep 2017 15:16:02 +0000'
}

@pytest.fixture
def root_metadata():
return {
'path': os.path.join('/')
}

@pytest.fixture
def folder_metadata():
return {
'path': os.path.join('/', 'folder1/')
}

@pytest.fixture
def subfolder_metadata():
return {
'path': os.path.join('/', 'folder1/', 'folder2/')
}


class TestMetadata:

Expand Down Expand Up @@ -97,6 +108,60 @@ def test_file_metadata(self, file_metadata):
'filesystem/code/website/osfstoragecache/77094244-aa24-48da-9437-d8ce6f7a94e9')
}

def test_root_metadata(self, root_metadata):
data = FileSystemFolderMetadata(root_metadata, '')
assert data.path == '/'
assert data.name == ''
assert data.provider == 'filesystem'
assert data.build_path('') == '/'
assert data.materialized_path == '/'
assert data.is_folder is True
assert data.children is None
assert data.kind == 'folder'
assert data.etag is None
assert data.serialized() == {
'extra': {},
'kind': 'folder',
'name': '',
'path': '/',
'provider': 'filesystem',
'materialized': '/',
'etag': '6a2b72b88f67692ff6f4cc3a52798cdc54a6e7c7e6dcbf8463fcb5105b6b949e'
}

assert data.json_api_serialized('7ycmyr') == {
'id': 'filesystem/',
'type': 'files',
'attributes': {
'extra': {},
'kind': 'folder',
'name': '',
'path': '/',
'provider': 'filesystem',
'materialized': '/',
'etag': '6a2b72b88f67692ff6f4cc3a52798cdc54a6e7c7e6dcbf8463fcb5105b6b949e',
'resource': '7ycmyr',
'size': None
},
'links': {
'move': 'http://localhost:7777/v1/resources/7ycmyr/providers/filesystem/',
'upload': ('http://localhost:7777/v1/resources/'
'7ycmyr/providers/filesystem/?kind=file'),
'delete': 'http://localhost:7777/v1/resources/7ycmyr/providers/filesystem/',
'new_folder': ('http://localhost:7777/v1/resources/'
'7ycmyr/providers/filesystem/?kind=folder')
}
}

assert data._json_api_links('cn42d') == {
'move': 'http://localhost:7777/v1/resources/cn42d/providers/filesystem/',
'upload': ('http://localhost:7777/v1/resources/'
'cn42d/providers/filesystem/?kind=file'),
'delete': 'http://localhost:7777/v1/resources/cn42d/providers/filesystem/',
'new_folder': ('http://localhost:7777/v1/resources/'
'cn42d/providers/filesystem/?kind=folder')
}

def test_folder_metadata(self, folder_metadata):
data = FileSystemFolderMetadata(folder_metadata, '/')
assert data.path == '/folder1/'
Expand Down Expand Up @@ -150,3 +215,61 @@ def test_folder_metadata(self, folder_metadata):
'new_folder': ('http://localhost:7777/v1/resources/'
'cn42d/providers/filesystem/folder1/?kind=folder')
}

def test_subfolder_metadata(self, subfolder_metadata):
data = FileSystemFolderMetadata(subfolder_metadata, '/')
assert data.path == '/folder1/folder2/'
assert data.name == 'folder2'
assert data.provider == 'filesystem'
assert data.build_path('') == '/'
assert data.materialized_path == '/folder1/folder2/'
assert data.is_folder is True
assert data.children is None
assert data.kind == 'folder'
assert data.etag is None
assert data.serialized() == {
'extra': {},
'kind': 'folder',
'name': 'folder2',
'path': '/folder1/folder2/',
'provider': 'filesystem',
'materialized': '/folder1/folder2/',
'etag': '6a2b72b88f67692ff6f4cc3a52798cdc54a6e7c7e6dcbf8463fcb5105b6b949e'
}

assert data.json_api_serialized('7ycmyr') == {
'id': 'filesystem/folder1/folder2/',
'type': 'files',
'attributes': {
'extra': {},
'kind': 'folder',
'name': 'folder2',
'path': '/folder1/folder2/',
'provider': 'filesystem',
'materialized': '/folder1/folder2/',
'etag': '6a2b72b88f67692ff6f4cc3a52798cdc54a6e7c7e6dcbf8463fcb5105b6b949e',
'resource': '7ycmyr',
'size': None
},
'links': {
'move': 'http://localhost:7777/v1/resources/7ycmyr/providers/filesystem/'
'folder1/folder2/',
'upload': ('http://localhost:7777/v1/resources/'
'7ycmyr/providers/filesystem/folder1/folder2/?kind=file'),
'delete': 'http://localhost:7777/v1/resources/7ycmyr/providers/filesystem/'
'folder1/folder2/',
'new_folder': ('http://localhost:7777/v1/resources/'
'7ycmyr/providers/filesystem/folder1/folder2/?kind=folder')
}
}

assert data._json_api_links('cn42d') == {
'move': 'http://localhost:7777/v1/resources/cn42d/providers/filesystem'
'/folder1/folder2/',
'upload': ('http://localhost:7777/v1/resources/'
'cn42d/providers/filesystem/folder1/folder2/?kind=file'),
'delete': 'http://localhost:7777/v1/resources/cn42d/providers/filesystem'
'/folder1/folder2/',
'new_folder': ('http://localhost:7777/v1/resources/'
'cn42d/providers/filesystem/folder1/folder2/?kind=folder')
}

0 comments on commit a4df848

Please sign in to comment.