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

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

Issue 15087006: Docserver: there is only one. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: epic rebase Created 7 years, 5 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 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 # Run build_server so that files needed by tests are copied to the local 6 # Run build_server so that files needed by tests are copied to the local
7 # third_party directory. 7 # third_party directory.
8 import build_server 8 import build_server
9 build_server.main() 9 build_server.main()
10 10
11 from itertools import groupby 11 from itertools import groupby
12 from operator import itemgetter 12 from operator import itemgetter
13 import optparse 13 import optparse
14 import os 14 import os
15 import posixpath
15 import sys 16 import sys
16 import time 17 import time
17 import unittest 18 import unittest
18 19
20 from branch_utility import BranchUtility
19 from link_error_detector import LinkErrorDetector 21 from link_error_detector import LinkErrorDetector
20 from local_file_system import LocalFileSystem 22 from local_file_system import LocalFileSystem
21 from local_renderer import LocalRenderer 23 from local_renderer import LocalRenderer
22 from fake_fetchers import ConfigureFakeFetchers 24 from fake_fetchers import ConfigureFakeFetchers
23 from handler import Handler 25 from handler import Handler
24 from servlet import Request 26 from servlet import Request
25 from test_util import EnableLogging, DisableLogging 27 from test_util import EnableLogging, DisableLogging
26 28
27 # Arguments set up if __main__ specifies them. 29 # Arguments set up if __main__ specifies them.
28 _EXPLICIT_TEST_FILES = None 30 _EXPLICIT_TEST_FILES = None
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 for path, content in public_files.iteritems(): 119 for path, content in public_files.iteritems():
118 if path.endswith('redirects.json'): 120 if path.endswith('redirects.json'):
119 continue 121 continue
120 def check_result(response): 122 def check_result(response):
121 self.assertEqual(200, response.status, 123 self.assertEqual(200, response.status,
122 'Got %s when rendering %s' % (response.status, path)) 124 'Got %s when rendering %s' % (response.status, path))
123 # This is reaaaaally rough since usually these will be tiny templates 125 # This is reaaaaally rough since usually these will be tiny templates
124 # that render large files. At least it'll catch zero-length responses. 126 # that render large files. At least it'll catch zero-length responses.
125 self.assertTrue(len(response.content) >= len(content), 127 self.assertTrue(len(response.content) >= len(content),
126 'Content was "%s" when rendering %s' % (response.content, path)) 128 'Content was "%s" when rendering %s' % (response.content, path))
129
127 check_result(Handler(Request.ForTest(path)).Get()) 130 check_result(Handler(Request.ForTest(path)).Get())
131
132 # Make sure that leaving out the .html will temporarily redirect to the
133 # path with the .html.
134 if path != '/404.html':
135 redirect_result = Handler(
136 Request.ForTest(posixpath.splitext(path)[0])).Get()
137 self.assertEqual((path, False), redirect_result.GetRedirect())
138
139 # Make sure including a channel will permanently redirect to the same
140 # path without a channel.
141 for channel in BranchUtility.GetAllChannelNames():
142 redirect_result = Handler(
143 Request.ForTest('%s/%s' % (channel, path))).Get()
144 self.assertEqual((path, True), redirect_result.GetRedirect())
145
128 # Samples are internationalized, test some locales. 146 # Samples are internationalized, test some locales.
129 if path.endswith('/samples.html'): 147 if path.endswith('/samples.html'):
130 for lang in ['en-US', 'es', 'ar']: 148 for lang in ['en-US', 'es', 'ar']:
131 check_result(Handler(Request.ForTest( 149 check_result(Handler(Request.ForTest(
132 path, 150 path,
133 headers={'Accept-Language': '%s;q=0.8' % lang})).Get()) 151 headers={'Accept-Language': '%s;q=0.8' % lang})).Get())
134 finally: 152 finally:
135 print('Took %s seconds' % (time.time() - start_time)) 153 print('Took %s seconds' % (time.time() - start_time))
136 154
137 # TODO(kalman): Move this test elsewhere, it's not an integration test. 155 # TODO(kalman): Move this test elsewhere, it's not an integration test.
(...skipping 23 matching lines...) Expand all
161 179
162 if __name__ == '__main__': 180 if __name__ == '__main__':
163 parser = optparse.OptionParser() 181 parser = optparse.OptionParser()
164 parser.add_option('-a', '--all', action='store_true', default=False) 182 parser.add_option('-a', '--all', action='store_true', default=False)
165 (opts, args) = parser.parse_args() 183 (opts, args) = parser.parse_args()
166 if not opts.all: 184 if not opts.all:
167 _EXPLICIT_TEST_FILES = args 185 _EXPLICIT_TEST_FILES = args
168 # Kill sys.argv because we have our own flags. 186 # Kill sys.argv because we have our own flags.
169 sys.argv = [sys.argv[0]] 187 sys.argv = [sys.argv[0]]
170 unittest.main() 188 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698