Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 os | 6 import os |
| 7 from StringIO import StringIO | 7 from StringIO import StringIO |
| 8 import unittest | 8 import unittest |
| 9 | 9 |
| 10 import appengine_memcache as memcache | 10 import appengine_memcache as memcache |
| 11 import handler | 11 import handler |
| 12 from handler import Handler | 12 from handler import Handler |
| 13 | 13 |
| 14 KNOWN_FAILURES = [ | 14 KNOWN_FAILURES = [ |
| 15 'webstore.html', | 15 'webstore.html', |
| 16 'app.html', | |
| 17 'experimental_serial.html' | |
|
not at google - send to devlin
2012/08/07 02:42:14
commented this in a different patch, but adding a
| |
| 16 ] | 18 ] |
| 17 | 19 |
| 18 class _MockResponse(object): | 20 class _MockResponse(object): |
| 19 def __init__(self): | 21 def __init__(self): |
| 20 self.status = 200 | 22 self.status = 200 |
| 21 self.out = StringIO() | 23 self.out = StringIO() |
| 22 | 24 |
| 23 def set_status(self, status): | 25 def set_status(self, status): |
| 24 self.status = status | 26 self.status = status |
| 25 | 27 |
| 26 class _MockRequest(object): | 28 class _MockRequest(object): |
| 27 def __init__(self, path): | 29 def __init__(self, path): |
| 28 self.headers = {} | 30 self.headers = {} |
| 29 self.path = path | 31 self.path = path |
| 30 | 32 |
| 31 class IntegrationTest(unittest.TestCase): | 33 class IntegrationTest(unittest.TestCase): |
| 32 def testAll(self): | 34 def testAll(self): |
| 33 base_path = os.path.join('templates', 'public') | 35 base_path = os.path.join('templates', 'public') |
| 34 for path, dirs, files in os.walk(base_path): | 36 for path, dirs, files in os.walk(base_path): |
| 35 for name in files: | 37 for name in files: |
| 36 filename = os.path.join(path, name) | 38 filename = os.path.join(path, name) |
| 37 if filename in KNOWN_FAILURES or filename.startswith('.'): | 39 if name in KNOWN_FAILURES or '.' in path or name.startswith('.'): |
| 38 continue | 40 continue |
| 39 request = _MockRequest(filename.split('/', 2)[-1]) | 41 request = _MockRequest(filename.split('/', 2)[-1]) |
| 40 response = _MockResponse() | 42 response = _MockResponse() |
| 41 Handler(request, response, local_path='../..').get() | 43 Handler(request, response, local_path='../..').get() |
| 42 self.assertEqual(200, response.status) | 44 self.assertEqual(200, response.status) |
| 43 self.assertTrue(response.out.getvalue()) | 45 self.assertTrue(response.out.getvalue()) |
| 44 | 46 |
| 45 def test404(self): | 47 def test404(self): |
| 46 request = _MockRequest('junk.html') | 48 request = _MockRequest('junk.html') |
| 47 bad_response = _MockResponse() | 49 bad_response = _MockResponse() |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 68 request = _MockRequest('_ah/warmup') | 70 request = _MockRequest('_ah/warmup') |
| 69 response = _MockResponse() | 71 response = _MockResponse() |
| 70 Handler(request, response, local_path='../..').get() | 72 Handler(request, response, local_path='../..').get() |
| 71 self.assertEqual(200, response.status) | 73 self.assertEqual(200, response.status) |
| 72 # Test that the pages were rendered by checking the size of the output. | 74 # Test that the pages were rendered by checking the size of the output. |
| 73 # In python 2.6 there is no 'assertGreater' method. | 75 # In python 2.6 there is no 'assertGreater' method. |
| 74 self.assertTrue(len(response.out.getvalue()) > 500000) | 76 self.assertTrue(len(response.out.getvalue()) > 500000) |
| 75 | 77 |
| 76 if __name__ == '__main__': | 78 if __name__ == '__main__': |
| 77 unittest.main() | 79 unittest.main() |
| OLD | NEW |