Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 unittest | 6 import unittest |
| 7 | 7 |
| 8 from appengine_wrappers import GetAppVersion | 8 from appengine_wrappers import GetAppVersion |
| 9 from app_yaml_helper import AppYamlHelper | 9 from app_yaml_helper import AppYamlHelper |
| 10 from caching_file_system import CachingFileSystem | |
| 11 from cron_servlet import CronServlet | 10 from cron_servlet import CronServlet |
| 12 from empty_dir_file_system import EmptyDirFileSystem | 11 from empty_dir_file_system import EmptyDirFileSystem |
| 13 from host_file_system_creator import HostFileSystemCreator | 12 from host_file_system_creator import HostFileSystemCreator |
| 14 from local_file_system import LocalFileSystem | 13 from local_file_system import LocalFileSystem |
| 15 from mock_file_system import MockFileSystem | 14 from mock_file_system import MockFileSystem |
| 16 from servlet import Request | 15 from servlet import Request |
| 17 from test_branch_utility import TestBranchUtility | 16 from test_branch_utility import TestBranchUtility |
| 18 from test_file_system import TestFileSystem | 17 from test_file_system import TestFileSystem |
| 19 from test_util import EnableLogging | 18 from test_util import EnableLogging |
| 20 | 19 |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 50 self._app_version = app_version | 49 self._app_version = app_version |
| 51 | 50 |
| 52 class CronServletTest(unittest.TestCase): | 51 class CronServletTest(unittest.TestCase): |
| 53 @EnableLogging('info') | 52 @EnableLogging('info') |
| 54 def testEverything(self): | 53 def testEverything(self): |
| 55 # All these tests are dependent (see above comment) so lump everything in | 54 # All these tests are dependent (see above comment) so lump everything in |
| 56 # the one test. | 55 # the one test. |
| 57 delegate = _TestDelegate( | 56 delegate = _TestDelegate( |
| 58 lambda _, __: MockFileSystem(LocalFileSystem.Create())) | 57 lambda _, __: MockFileSystem(LocalFileSystem.Create())) |
| 59 | 58 |
| 59 # A file system will be created for the server instance, and one | |
| 60 # will also be created by AvailabilityFinder for each version from trunk, to | |
| 61 # version 28 (dev), down to and including version 17. This amounts to 14 | |
| 62 # total. The dev version is determined by the test data that | |
| 63 # TestBranchUtility has access to. Version 17 is where AvailabilityFinder | |
| 64 # halts during tests. | |
| 65 num_file_systems = 14 | |
|
epeterson
2013/07/16 00:28:23
This is a pretty magical number. I mean, anything
not at google - send to devlin
2013/07/16 22:25:00
Ok maybe the answer here is just the test isn't me
epeterson
2013/07/17 23:48:23
That seems ok.
| |
| 60 # Test that the cron runs successfully. | 66 # Test that the cron runs successfully. |
| 61 response = CronServlet(Request.ForTest('trunk'), | 67 response = CronServlet(Request.ForTest('trunk'), |
| 62 delegate_for_test=delegate).Get() | 68 delegate_for_test=delegate).Get() |
| 63 self.assertEqual(1, len(delegate.file_systems)) | 69 self.assertEqual(num_file_systems, len(delegate.file_systems)) |
| 64 self.assertEqual(200, response.status) | 70 self.assertEqual(200, response.status) |
| 65 | 71 |
| 66 # When re-running, all file systems should be Stat()d the same number of | 72 # When re-running, all file systems should be Stat()d the same number of |
| 67 # times, but the second round shouldn't have been re-Read() since the | 73 # times, but the second round shouldn't have been re-Read() since the |
| 68 # Stats haven't changed. | 74 # Stats haven't changed. |
| 69 response = CronServlet(Request.ForTest('trunk'), | 75 response = CronServlet(Request.ForTest('trunk'), |
| 70 delegate_for_test=delegate).Get() | 76 delegate_for_test=delegate).Get() |
| 71 self.assertEqual(2, len(delegate.file_systems)) | 77 self.assertEqual(num_file_systems * 2, len(delegate.file_systems)) |
| 72 self.assertTrue(*delegate.file_systems[1].CheckAndReset( | 78 for x in range (0, num_file_systems): |
| 73 read_count=0, | 79 self.assertTrue(*delegate.file_systems[x + num_file_systems] |
| 74 stat_count=delegate.file_systems[0].GetStatCount())) | 80 .CheckAndReset(read_count=0, |
| 81 stat_count=delegate.file_systems[x].GetStatCount())) | |
| 75 | 82 |
| 76 def testSafeRevision(self): | 83 def testSafeRevision(self): |
| 77 test_data = { | 84 test_data = { |
| 78 'docs': { | 85 'docs': { |
| 79 'examples': { | 86 'examples': { |
| 80 'examples.txt': 'examples.txt contents' | 87 'examples.txt': 'examples.txt contents' |
| 81 }, | 88 }, |
| 82 'server2': { | 89 'server2': { |
| 83 'app.yaml': AppYamlHelper.GenerateAppYaml('2-0-8') | 90 'app.yaml': AppYamlHelper.GenerateAppYaml('2-0-8') |
| 84 }, | 91 }, |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 199 CronServlet(Request.ForTest('trunk'), delegate_for_test=delegate).Get() | 206 CronServlet(Request.ForTest('trunk'), delegate_for_test=delegate).Get() |
| 200 self.assertEqual(AppYamlHelper.GenerateAppYaml('2-1-0'), | 207 self.assertEqual(AppYamlHelper.GenerateAppYaml('2-1-0'), |
| 201 file_systems[-1].ReadSingle(app_yaml_path)) | 208 file_systems[-1].ReadSingle(app_yaml_path)) |
| 202 self.assertEqual('y u not update!', | 209 self.assertEqual('y u not update!', |
| 203 file_systems[-1].ReadSingle(storage_html_path)) | 210 file_systems[-1].ReadSingle(storage_html_path)) |
| 204 self.assertEqual('important content!', | 211 self.assertEqual('important content!', |
| 205 file_systems[-1].ReadSingle(static_txt_path)) | 212 file_systems[-1].ReadSingle(static_txt_path)) |
| 206 | 213 |
| 207 if __name__ == '__main__': | 214 if __name__ == '__main__': |
| 208 unittest.main() | 215 unittest.main() |
| OLD | NEW |