Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: chrome/common/extensions/docs/server2/test_file_system_test.py

Issue 151883009: Docserver: Make MockFileSystem not iterate over the entire file system as part (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: yoz and then some Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/extensions/docs/server2/test_file_system.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 from copy import deepcopy 6 from copy import deepcopy
7 from file_system import FileNotFoundError, StatInfo 7 from file_system import FileNotFoundError, StatInfo
8 from test_file_system import TestFileSystem, MoveTo 8 from test_file_system import TestFileSystem, MoveTo
9 import unittest 9 import unittest
10 10
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 self.assertRaises(FileNotFoundError, _Get(fs.Read), ['foo', 54 self.assertRaises(FileNotFoundError, _Get(fs.Read), ['foo',
55 'bar/', 55 'bar/',
56 'bar/baz']) 56 'bar/baz'])
57 self.assertRaises(FileNotFoundError, fs.Stat, 'foo') 57 self.assertRaises(FileNotFoundError, fs.Stat, 'foo')
58 self.assertRaises(FileNotFoundError, fs.Stat, 'bar/') 58 self.assertRaises(FileNotFoundError, fs.Stat, 'bar/')
59 self.assertRaises(FileNotFoundError, fs.Stat, 'bar/baz') 59 self.assertRaises(FileNotFoundError, fs.Stat, 'bar/baz')
60 60
61 def testNonemptySuccess(self): 61 def testNonemptySuccess(self):
62 fs = TestFileSystem(deepcopy(_TEST_DATA)) 62 fs = TestFileSystem(deepcopy(_TEST_DATA))
63 self.assertEqual('404.html contents', fs.ReadSingle('404.html').Get()) 63 self.assertEqual('404.html contents', fs.ReadSingle('404.html').Get())
64 self.assertEqual('404.html contents', fs.ReadSingle('/404.html').Get())
65 self.assertEqual('a11y.html contents', 64 self.assertEqual('a11y.html contents',
66 fs.ReadSingle('apps/a11y.html').Get()) 65 fs.ReadSingle('apps/a11y.html').Get())
67 self.assertEqual(['404.html', 'apps/', 'extensions/'], 66 self.assertEqual(['404.html', 'apps/', 'extensions/'],
68 sorted(fs.ReadSingle('/').Get())) 67 sorted(fs.ReadSingle('').Get()))
69 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'], 68 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'],
70 sorted(fs.ReadSingle('apps/').Get())) 69 sorted(fs.ReadSingle('apps/').Get()))
71 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'],
72 sorted(fs.ReadSingle('/apps/').Get()))
73 70
74 def testReadFiles(self): 71 def testReadFiles(self):
75 fs = TestFileSystem(deepcopy(_TEST_DATA)) 72 fs = TestFileSystem(deepcopy(_TEST_DATA))
76 self.assertEqual('404.html contents', 73 self.assertEqual('404.html contents',
77 fs.ReadSingle('404.html').Get()) 74 fs.ReadSingle('404.html').Get())
78 self.assertEqual('404.html contents',
79 fs.ReadSingle('/404.html').Get())
80 self.assertEqual('a11y.html contents', 75 self.assertEqual('a11y.html contents',
81 fs.ReadSingle('apps/a11y.html').Get()) 76 fs.ReadSingle('apps/a11y.html').Get())
82 self.assertEqual('a11y.html contents',
83 fs.ReadSingle('/apps/a11y.html').Get())
84 self.assertEqual('file.html contents', 77 self.assertEqual('file.html contents',
85 fs.ReadSingle('apps/fakedir/file.html').Get()) 78 fs.ReadSingle('apps/fakedir/file.html').Get())
86 self.assertEqual('file.html contents',
87 fs.ReadSingle('/apps/fakedir/file.html').Get())
88 79
89 def testReadDirs(self): 80 def testReadDirs(self):
90 fs = TestFileSystem(deepcopy(_TEST_DATA)) 81 fs = TestFileSystem(deepcopy(_TEST_DATA))
91 self.assertEqual(['404.html', 'apps/', 'extensions/'], 82 self.assertEqual(['404.html', 'apps/', 'extensions/'],
92 sorted(fs.ReadSingle('/').Get())) 83 sorted(fs.ReadSingle('').Get()))
93 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'],
94 sorted(fs.ReadSingle('/apps/').Get()))
95 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'], 84 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'],
96 sorted(fs.ReadSingle('apps/').Get())) 85 sorted(fs.ReadSingle('apps/').Get()))
97 self.assertEqual(['file.html'], fs.ReadSingle('/apps/fakedir/').Get()) 86 self.assertEqual(['a11y.html', 'about_apps.html', 'fakedir/'],
87 sorted(fs.ReadSingle('apps/').Get()))
98 self.assertEqual(['file.html'], fs.ReadSingle('apps/fakedir/').Get()) 88 self.assertEqual(['file.html'], fs.ReadSingle('apps/fakedir/').Get())
99 89
100 def testStat(self): 90 def testStat(self):
101 fs = TestFileSystem(deepcopy(_TEST_DATA)) 91 fs = TestFileSystem(deepcopy(_TEST_DATA))
102 self.assertRaises(FileNotFoundError, fs.Stat, 'foo') 92 self.assertRaises(FileNotFoundError, fs.Stat, 'foo')
103 self.assertRaises(FileNotFoundError, fs.Stat, '404.html/') 93 self.assertRaises(FileNotFoundError, fs.Stat, '404.html/')
94 self.assertEquals(StatInfo('0', child_versions={
95 '404.html': '0',
96 'apps/': '0',
97 'extensions/': '0',
98 }), fs.Stat(''))
104 self.assertEquals(StatInfo('0'), fs.Stat('404.html')) 99 self.assertEquals(StatInfo('0'), fs.Stat('404.html'))
105 self.assertEquals(StatInfo('0', child_versions={ 100 self.assertEquals(StatInfo('0', child_versions={
106 'activeTab.html': '0', 101 'activeTab.html': '0',
107 'alarms.html': '0', 102 'alarms.html': '0',
108 }), fs.Stat('extensions/')) 103 }), fs.Stat('extensions/'))
109 104
110 fs.IncrementStat() 105 fs.IncrementStat()
106 self.assertEquals(StatInfo('1', child_versions={
107 '404.html': '1',
108 'apps/': '1',
109 'extensions/': '1',
110 }), fs.Stat(''))
111 self.assertEquals(StatInfo('1'), fs.Stat('404.html')) 111 self.assertEquals(StatInfo('1'), fs.Stat('404.html'))
112 self.assertEquals(StatInfo('1', child_versions={ 112 self.assertEquals(StatInfo('1', child_versions={
113 'activeTab.html': '1', 113 'activeTab.html': '1',
114 'alarms.html': '1', 114 'alarms.html': '1',
115 }), fs.Stat('extensions/')) 115 }), fs.Stat('extensions/'))
116 116
117 fs.IncrementStat(path='404.html') 117 fs.IncrementStat(path='404.html')
118 self.assertEquals(StatInfo('2', child_versions={
119 '404.html': '2',
120 'apps/': '1',
121 'extensions/': '1',
122 }), fs.Stat(''))
118 self.assertEquals(StatInfo('2'), fs.Stat('404.html')) 123 self.assertEquals(StatInfo('2'), fs.Stat('404.html'))
119 self.assertEquals(StatInfo('1', child_versions={ 124 self.assertEquals(StatInfo('1', child_versions={
120 'activeTab.html': '1', 125 'activeTab.html': '1',
121 'alarms.html': '1', 126 'alarms.html': '1',
122 }), fs.Stat('extensions/')) 127 }), fs.Stat('extensions/'))
123 128
124 fs.IncrementStat() 129 fs.IncrementStat()
130 self.assertEquals(StatInfo('3', child_versions={
131 '404.html': '3',
132 'apps/': '2',
133 'extensions/': '2',
134 }), fs.Stat(''))
125 self.assertEquals(StatInfo('3'), fs.Stat('404.html')) 135 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
126 self.assertEquals(StatInfo('2', child_versions={ 136 self.assertEquals(StatInfo('2', child_versions={
127 'activeTab.html': '2', 137 'activeTab.html': '2',
128 'alarms.html': '2', 138 'alarms.html': '2',
129 }), fs.Stat('extensions/')) 139 }), fs.Stat('extensions/'))
130 140
131 fs.IncrementStat(path='extensions/') 141 # It doesn't make sense to increment the version of directories. Directory
142 # versions are derived from the version of files within them.
143 self.assertRaises(ValueError, fs.IncrementStat, path='')
144 self.assertRaises(ValueError, fs.IncrementStat, path='extensions/')
145 self.assertEquals(StatInfo('3', child_versions={
146 '404.html': '3',
147 'apps/': '2',
148 'extensions/': '2',
149 }), fs.Stat(''))
132 self.assertEquals(StatInfo('3'), fs.Stat('404.html')) 150 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
133 self.assertEquals(StatInfo('3', child_versions={ 151 self.assertEquals(StatInfo('2', child_versions={
134 'activeTab.html': '2', 152 'activeTab.html': '2',
135 'alarms.html': '2', 153 'alarms.html': '2',
136 }), fs.Stat('extensions/')) 154 }), fs.Stat('extensions/'))
137 155
138 fs.IncrementStat(path='extensions/alarms.html') 156 fs.IncrementStat(path='extensions/alarms.html')
157 self.assertEquals(StatInfo('3', child_versions={
158 '404.html': '3',
159 'apps/': '2',
160 'extensions/': '3',
161 }), fs.Stat(''))
139 self.assertEquals(StatInfo('3'), fs.Stat('404.html')) 162 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
140 self.assertEquals(StatInfo('3', child_versions={ 163 self.assertEquals(StatInfo('3', child_versions={
141 'activeTab.html': '2', 164 'activeTab.html': '2',
142 'alarms.html': '3', 165 'alarms.html': '3',
143 }), fs.Stat('extensions/')) 166 }), fs.Stat('extensions/'))
144 167
168 fs.IncrementStat(path='extensions/activeTab.html', by=3)
169 self.assertEquals(StatInfo('5', child_versions={
170 '404.html': '3',
171 'apps/': '2',
172 'extensions/': '5',
173 }), fs.Stat(''))
174 self.assertEquals(StatInfo('3'), fs.Stat('404.html'))
175 self.assertEquals(StatInfo('5', child_versions={
176 'activeTab.html': '5',
177 'alarms.html': '3',
178 }), fs.Stat('extensions/'))
179
145 def testMoveTo(self): 180 def testMoveTo(self):
146 self.assertEqual({'foo': {'a': 'b', 'c': 'd'}}, 181 self.assertEqual({'foo': {'a': 'b', 'c': 'd'}},
147 MoveTo('foo', {'a': 'b', 'c': 'd'})) 182 MoveTo('foo', {'a': 'b', 'c': 'd'}))
148 self.assertEqual({'foo': {'bar': {'a': 'b', 'c': 'd'}}}, 183 self.assertEqual({'foo': {'bar': {'a': 'b', 'c': 'd'}}},
149 MoveTo('foo/bar', {'a': 'b', 'c': 'd'})) 184 MoveTo('foo/bar', {'a': 'b', 'c': 'd'}))
150 self.assertEqual({'foo': {'bar': {'baz': {'a': 'b'}}}}, 185 self.assertEqual({'foo': {'bar': {'baz': {'a': 'b'}}}},
151 MoveTo('foo/bar/baz', {'a': 'b'})) 186 MoveTo('foo/bar/baz', {'a': 'b'}))
152 187
153 188
154 if __name__ == '__main__': 189 if __name__ == '__main__':
155 unittest.main() 190 unittest.main()
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/test_file_system.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698