| Index: chrome/common/extensions/docs/server2/caching_file_system_test.py
|
| diff --git a/chrome/common/extensions/docs/server2/caching_file_system_test.py b/chrome/common/extensions/docs/server2/caching_file_system_test.py
|
| index 78becf1a8dc9c8e35f567662cdae3b73dc266bda..f80ac8c70f7875d83c3a91c452e0c1762d87b016 100755
|
| --- a/chrome/common/extensions/docs/server2/caching_file_system_test.py
|
| +++ b/chrome/common/extensions/docs/server2/caching_file_system_test.py
|
| @@ -58,13 +58,13 @@ class CachingFileSystemTest(unittest.TestCase):
|
| file_system = self._CreateCachingFileSystem(
|
| _CreateLocalFs(), start_empty=False)
|
| expected = ['dir/'] + ['file%d.html' % i for i in range(7)]
|
| - file_system._read_object_store.Set(
|
| + file_system._read_cache.Set(
|
| 'list/',
|
| (expected, file_system.Stat('list/').version))
|
| self.assertEqual(expected, sorted(file_system.ReadSingle('list/').Get()))
|
|
|
| expected.remove('file0.html')
|
| - file_system._read_object_store.Set(
|
| + file_system._read_cache.Set(
|
| 'list/',
|
| (expected, file_system.Stat('list/').version))
|
| self.assertEqual(expected, sorted(file_system.ReadSingle('list/').Get()))
|
| @@ -112,9 +112,9 @@ class CachingFileSystemTest(unittest.TestCase):
|
|
|
| # Test directory and subdirectory stats are cached.
|
| file_system = create_empty_caching_fs()
|
| - file_system._stat_object_store.Del('bob/bob0')
|
| - file_system._read_object_store.Del('bob/bob0')
|
| - file_system._stat_object_store.Del('bob/bob1')
|
| + file_system._stat_cache.Del('bob/bob0')
|
| + file_system._read_cache.Del('bob/bob0')
|
| + file_system._stat_cache.Del('bob/bob1')
|
| test_fs.IncrementStat();
|
| futures = (file_system.ReadSingle('bob/bob1'),
|
| file_system.ReadSingle('bob/bob0'))
|
| @@ -128,8 +128,8 @@ class CachingFileSystemTest(unittest.TestCase):
|
|
|
| # Test a more recent parent directory doesn't force a refetch of children.
|
| file_system = create_empty_caching_fs()
|
| - file_system._read_object_store.Del('bob/bob0')
|
| - file_system._read_object_store.Del('bob/bob1')
|
| + file_system._read_cache.Del('bob/bob0')
|
| + file_system._read_cache.Del('bob/bob1')
|
| futures = (file_system.ReadSingle('bob/bob1'),
|
| file_system.ReadSingle('bob/bob2'),
|
| file_system.ReadSingle('bob/bob3'))
|
| @@ -150,7 +150,7 @@ class CachingFileSystemTest(unittest.TestCase):
|
| self.assertTrue(*mock_fs.CheckAndReset(stat_count=1))
|
|
|
| file_system = create_empty_caching_fs()
|
| - file_system._stat_object_store.Del('bob/bob0')
|
| + file_system._stat_cache.Del('bob/bob0')
|
| future = file_system.ReadSingle('bob/bob0')
|
| self.assertTrue(*mock_fs.CheckAndReset(read_count=1))
|
| self.assertEqual('bob/bob0 contents', future.Get())
|
| @@ -251,6 +251,46 @@ class CachingFileSystemTest(unittest.TestCase):
|
| 'bob/bob0': 'bob/bob0 contents',
|
| }, read_skip_not_found(('bob/bob0', 'bob/bob2')))
|
|
|
| + def testWalkCaching(self):
|
| + test_fs = TestFileSystem({
|
| + 'root': {
|
| + 'file1': 'file1',
|
| + 'file2': 'file2',
|
| + 'dir1': {
|
| + 'dir1_file1': 'dir1_file1',
|
| + 'dir2': {},
|
| + 'dir3': {
|
| + 'dir3_file1': 'dir3_file1',
|
| + 'dir3_file2': 'dir3_file2'
|
| + }
|
| + }
|
| + }
|
| + })
|
| + mock_fs = MockFileSystem(test_fs)
|
| + file_system = self._CreateCachingFileSystem(mock_fs, start_empty=True)
|
| + for walkinfo in file_system.Walk(''):
|
| + pass
|
| + self.assertTrue(*mock_fs.CheckAndReset(
|
| + read_resolve_count=5, read_count=5, stat_count=5))
|
| +
|
| + all_dirs, all_files = [], []
|
| + for root, dirs, files in file_system.Walk(''):
|
| + all_dirs.extend(dirs)
|
| + all_files.extend(files)
|
| + self.assertEqual(sorted(['root/', 'dir1/', 'dir2/', 'dir3/']),
|
| + sorted(all_dirs))
|
| + self.assertEqual(
|
| + sorted(['file1', 'file2', 'dir1_file1', 'dir3_file1', 'dir3_file2']),
|
| + sorted(all_files))
|
| + # All data should be cached.
|
| + self.assertTrue(*mock_fs.CheckAndReset())
|
| +
|
| + # Starting from a different root should still pull cached data.
|
| + for walkinfo in file_system.Walk('root/dir1/'):
|
| + pass
|
| + self.assertTrue(*mock_fs.CheckAndReset())
|
| + # TODO(ahernandez): Test with a new instance CachingFileSystem so a
|
| + # different object store is utilized.
|
|
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|