subversion_file_system_test.py revision 5821806d5e7f356e8fa4b058a389a808ea183019
1#!/usr/bin/env python 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 4# found in the LICENSE file. 5 6import json 7import os 8import sys 9import unittest 10 11from fake_url_fetcher import FakeUrlFetcher 12from subversion_file_system import SubversionFileSystem 13 14class SubversionFileSystemTest(unittest.TestCase): 15 def setUp(self): 16 self._base_path = os.path.join(sys.path[0], 'test_data', 'file_system') 17 fetcher = FakeUrlFetcher(self._base_path) 18 self._file_system = SubversionFileSystem(fetcher, fetcher) 19 20 def _ReadLocalFile(self, filename): 21 with open(os.path.join(self._base_path, filename), 'r') as f: 22 return f.read() 23 24 def testReadFiles(self): 25 expected = { 26 'test1.txt': 'test1\n', 27 'test2.txt': 'test2\n', 28 'test3.txt': 'test3\n', 29 } 30 self.assertEqual( 31 expected, 32 self._file_system.Read(['test1.txt', 'test2.txt', 'test3.txt']).Get()) 33 34 def testListDir(self): 35 expected = ['dir/'] 36 for i in range(7): 37 expected.append('file%d.html' % i) 38 self.assertEqual(expected, 39 sorted(self._file_system.ReadSingle('list/'))) 40 41 def testStat(self): 42 stat_info = self._file_system.Stat('stat/') 43 self.assertEquals('151113', stat_info.version) 44 self.assertEquals(json.loads(self._ReadLocalFile('stat_result.json')), 45 stat_info.child_versions) 46 47if __name__ == '__main__': 48 unittest.main() 49