github_file_system_test.py revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 appengine_wrappers import files 12from fake_fetchers import ConfigureFakeFetchers 13from github_file_system import GithubFileSystem 14from object_store_creator import ObjectStoreCreator 15from test_util import Server2Path 16 17 18class GithubFileSystemTest(unittest.TestCase): 19 def setUp(self): 20 ConfigureFakeFetchers() 21 self._base_path = Server2Path('test_data', 'github_file_system') 22 self._file_system = GithubFileSystem.CreateChromeAppsSamples( 23 ObjectStoreCreator.ForTest()) 24 25 def _ReadLocalFile(self, filename): 26 with open(os.path.join(self._base_path, filename), 'r') as f: 27 return f.read() 28 29 def testList(self): 30 self.assertEqual(json.loads(self._ReadLocalFile('expected_list.json')), 31 self._file_system.Read(['']).Get()) 32 33 def testRead(self): 34 self.assertEqual(self._ReadLocalFile('expected_read.txt'), 35 self._file_system.ReadSingle('analytics/launch.js').Get()) 36 37 def testStat(self): 38 self.assertEqual(0, self._file_system.Stat('zipball').version) 39 40 def testKeyGeneration(self): 41 self.assertEqual(0, len(files.GetBlobKeys())) 42 self._file_system.ReadSingle('analytics/launch.js').Get() 43 self.assertEqual(1, len(files.GetBlobKeys())) 44 self._file_system.ReadSingle('analytics/main.css').Get() 45 self.assertEqual(1, len(files.GetBlobKeys())) 46 47if __name__ == '__main__': 48 unittest.main() 49