Adding the orphaned options pages to the navigation
[chromium-blink-merge.git] / chrome / common / extensions / docs / server2 / host_file_system_provider_test.py
blobe1cebb62546ed730aba71576ccc37d7c134c0672
1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 from copy import deepcopy
7 import unittest
9 from extensions_paths import CHROME_API
10 from file_system import FileNotFoundError
11 from host_file_system_provider import HostFileSystemProvider
12 from object_store_creator import ObjectStoreCreator
13 from test_data.canned_data import CANNED_API_FILE_SYSTEM_DATA
14 from test_file_system import TestFileSystem
16 class HostFileSystemProviderTest(unittest.TestCase):
17 def setUp(self):
18 self._idle_path = CHROME_API + 'idle.json'
19 self._canned_data = deepcopy(CANNED_API_FILE_SYSTEM_DATA)
21 def _constructor_for_test(self, branch, **optargs):
22 return TestFileSystem(self._canned_data[branch])
24 def testWithCaching(self):
25 creator = HostFileSystemProvider(
26 ObjectStoreCreator.ForTest(),
27 constructor_for_test=self._constructor_for_test)
29 fs = creator.GetBranch('1500')
30 first_read = fs.ReadSingle(self._idle_path).Get()
31 self._canned_data['1500']['chrome']['common']['extensions'].get('api'
32 )['idle.json'] = 'blah blah blah'
33 second_read = fs.ReadSingle(self._idle_path).Get()
35 self.assertEqual(first_read, second_read)
37 def testWithOffline(self):
38 creator = HostFileSystemProvider(
39 ObjectStoreCreator.ForTest(),
40 offline=True,
41 constructor_for_test=self._constructor_for_test)
43 fs = creator.GetBranch('1500')
44 # Offline file system should raise a FileNotFoundError if read is attempted.
45 self.assertRaises(FileNotFoundError, fs.ReadSingle(self._idle_path).Get)
47 if __name__ == '__main__':
48 unittest.main()