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

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

Issue 14247024: Devserver: allow SubversionFileSystem to be pinned to a specific rev on construction (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments Created 7 years, 7 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
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 import json 6 import json
7 import os 7 import os
8 import sys 8 import sys
9 import unittest 9 import unittest
10 10
11 from fake_url_fetcher import FakeUrlFetcher 11 from fake_url_fetcher import FakeUrlFetcher
12 from file_system import StatInfo 12 from file_system import StatInfo
13 from future import Future
13 from subversion_file_system import SubversionFileSystem 14 from subversion_file_system import SubversionFileSystem
14 15
15 class SubversionFileSystemTest(unittest.TestCase): 16 class SubversionFileSystemTest(unittest.TestCase):
16 def setUp(self): 17 def setUp(self):
17 self._base_path = os.path.join(sys.path[0], 'test_data', 'file_system') 18 self._base_path = os.path.join(sys.path[0], 'test_data', 'file_system')
18 19
19 def _CreateSubversionFileSystem(self): 20 def _CreateSubversionFileSystem(self):
20 fetcher = FakeUrlFetcher(self._base_path) 21 fetcher = FakeUrlFetcher(self._base_path)
21 return SubversionFileSystem(fetcher, fetcher, self._base_path) 22 return SubversionFileSystem(fetcher, fetcher, self._base_path)
22 23
(...skipping 26 matching lines...) Expand all
49 '151113', 50 '151113',
50 child_versions=json.loads(self._ReadLocalFile('stat_result.json')) 51 child_versions=json.loads(self._ReadLocalFile('stat_result.json'))
51 ) 52 )
52 self.assertEquals(expected, stat_info) 53 self.assertEquals(expected, stat_info)
53 54
54 def testFileStat(self): 55 def testFileStat(self):
55 file_system = self._CreateSubversionFileSystem() 56 file_system = self._CreateSubversionFileSystem()
56 stat_info = file_system.Stat('stat/extension_api.h') 57 stat_info = file_system.Stat('stat/extension_api.h')
57 self.assertEquals(StatInfo('146163'), stat_info) 58 self.assertEquals(StatInfo('146163'), stat_info)
58 59
60 def testRevisions(self):
61 # This is a super hacky test. Record the path that was fetched then exit the
62 # test. Compare.
63 class ValueErrorFetcher(object):
64 def __init__(self):
65 self.last_fetched = None
66
67 def FetchAsync(self, path):
68 self.last_fetched = path
69 raise ValueError()
70
71 def Fetch(self, path):
72 self.last_fetched = path
73 raise ValueError()
74
75 file_fetcher = ValueErrorFetcher()
76 stat_fetcher = ValueErrorFetcher()
77 svn_path = 'svn:'
78
79 svn_file_system = SubversionFileSystem(file_fetcher,
80 stat_fetcher,
81 svn_path,
82 revision=42)
83
84 self.assertRaises(ValueError, svn_file_system.ReadSingle, 'dir/file')
85 self.assertEqual('dir/file?p=42', file_fetcher.last_fetched)
86 # Stat() will always stat directories.
87 self.assertRaises(ValueError, svn_file_system.Stat, 'dir/file')
88 self.assertEqual('dir/?pathrev=42', stat_fetcher.last_fetched)
89
90 self.assertRaises(ValueError, svn_file_system.ReadSingle, 'dir/')
91 self.assertEqual('dir/?p=42', file_fetcher.last_fetched)
92 self.assertRaises(ValueError, svn_file_system.Stat, 'dir/')
93 self.assertEqual('dir/?pathrev=42', stat_fetcher.last_fetched)
94
59 if __name__ == '__main__': 95 if __name__ == '__main__':
60 unittest.main() 96 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698