| Index: chrome/common/extensions/docs/server2/gitiles_file_system_test.py
|
| diff --git a/chrome/common/extensions/docs/server2/gitiles_file_system_test.py b/chrome/common/extensions/docs/server2/gitiles_file_system_test.py
|
| index 438a6595388b0dd062d2c259606eeb1c8675706f..4ec0403c60496c93ce2d6c9c048ed7cc846e12a5 100755
|
| --- a/chrome/common/extensions/docs/server2/gitiles_file_system_test.py
|
| +++ b/chrome/common/extensions/docs/server2/gitiles_file_system_test.py
|
| @@ -13,12 +13,14 @@ from future import Future
|
| from gitiles_file_system import (_CreateStatInfo,
|
| _ParseGitilesJson,
|
| GitilesFileSystem)
|
| +from path_util import IsDirectory
|
| from test_file_system import TestFileSystem
|
| from test_util import ReadFile
|
|
|
|
|
| _BASE_URL = ''
|
| _REAL_DATA_DIR = 'chrome/common/extensions/docs/templates/public/extensions/'
|
| +_TEST_DATA = (SERVER2, 'test_data', 'gitiles_file_system', 'public_extensions')
|
| # GitilesFileSystem expects file content to be encoded in base64.
|
| _TEST_FS = {
|
| 'test1.txt': base64.b64encode('test1'),
|
| @@ -54,8 +56,7 @@ class _FakeGitilesFetcher(object):
|
| # Fetch urls are of the form <base_url>/<path>. We only want <path>.
|
| path = path.split('/', 1)[1]
|
| if path == _REAL_DATA_DIR:
|
| - return _Response(ReadFile(SERVER2, 'test_data', 'gitiles_file_system',
|
| - 'public_extensions'))
|
| + return _Response(ReadFile(*_TEST_DATA))
|
| # ALWAYS skip not found here.
|
| content = self._fs.Read((path,),
|
| skip_not_found=True).Get().get(path, None)
|
| @@ -65,7 +66,11 @@ class _FakeGitilesFetcher(object):
|
| # GitilesFS expects directory content as a JSON string.
|
| if 'JSON' in fmt:
|
| content = json.dumps({
|
| - 'entries': [{'name': name} for name in content]
|
| + 'entries': [{
|
| + # GitilesFS expects directory names to not have a trailing '/'.
|
| + 'name': name.rstrip('/'),
|
| + 'type': 'tree' if IsDirectory(name) else 'blob'
|
| + } for name in content]
|
| })
|
| return _Response(content)
|
| return Future(callback=resolve)
|
| @@ -74,7 +79,7 @@ class _FakeGitilesFetcher(object):
|
| class GitilesFileSystemTest(unittest.TestCase):
|
| def setUp(self):
|
| fetcher = _FakeGitilesFetcher(TestFileSystem(_TEST_FS))
|
| - self._gitiles_fs = GitilesFileSystem(fetcher, _BASE_URL, '', '')
|
| + self._gitiles_fs = GitilesFileSystem(fetcher, _BASE_URL, 'master', None)
|
|
|
| def testParseGitilesJson(self):
|
| test_json = '\n'.join([
|
| @@ -144,6 +149,15 @@ class GitilesFileSystemTest(unittest.TestCase):
|
| self.assertEqual(self._gitiles_fs.Stat(_REAL_DATA_DIR).version,
|
| 'ec21e736a3f00db2c0580e3cf71d91951656caec')
|
|
|
| + def testGetIdentity(self):
|
| + # Test that file systems at different commits still have the same identity.
|
| + other_gitiles_fs = GitilesFileSystem.Create(commit='abcdefghijklmnop')
|
| + self.assertEqual(self._gitiles_fs.GetIdentity(),
|
| + other_gitiles_fs.GetIdentity())
|
| +
|
| + yet_another_gitiles_fs = GitilesFileSystem.Create(branch='different')
|
| + self.assertNotEqual(self._gitiles_fs.GetIdentity(),
|
| + yet_another_gitiles_fs.GetIdentity())
|
|
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|