OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/env python |
| 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 |
| 4 # found in the LICENSE file. |
| 5 |
| 6 import unittest |
| 7 |
| 8 from local_file_system import LocalFileSystem |
| 9 from render_servlet import RenderServlet |
| 10 from server_instance import ServerInstance |
| 11 from servlet import Request |
| 12 from test_util import DisableLogging, ReadFile |
| 13 |
| 14 def _CreateServerInstance(): |
| 15 return ServerInstance.CreateForTest(LocalFileSystem()) |
| 16 |
| 17 class RenderServletTest(unittest.TestCase): |
| 18 def testExtensionAppRedirect(self): |
| 19 request = Request('storage.html', {}) |
| 20 response = RenderServlet(request).Get(_CreateServerInstance()) |
| 21 self.assertEqual(302, response.status) |
| 22 |
| 23 def testDefaultChannel(self): |
| 24 request = Request('stable/extensions/storage.html', {}) |
| 25 response = RenderServlet(request).Get(_CreateServerInstance()) |
| 26 self.assertEqual(302, response.status) |
| 27 |
| 28 @DisableLogging('warning') |
| 29 def testNotFound(self): |
| 30 request = Request('extensions/not_found.html', {}) |
| 31 response = RenderServlet(request).Get(_CreateServerInstance()) |
| 32 self.assertEqual(404, response.status) |
| 33 |
| 34 def testSampleFile(self): |
| 35 sample_file = 'extensions/talking_alarm_clock/background.js' |
| 36 request = Request('extensions/examples/%s' % sample_file, {}) |
| 37 response = RenderServlet(request).Get(_CreateServerInstance()) |
| 38 self.assertEqual(200, response.status) |
| 39 self.assertEqual('application/javascript', |
| 40 response.headers.get('content-type')) |
| 41 self.assertEqual(ReadFile('docs/examples/%s' % sample_file), |
| 42 response.content.ToString()) |
| 43 |
| 44 def testSampleZip(self): |
| 45 sample_dir = 'extensions/talking_alarm_clock' |
| 46 request = Request('extensions/examples/%s.zip' % sample_dir, {}) |
| 47 response = RenderServlet(request).Get(_CreateServerInstance()) |
| 48 self.assertEqual(200, response.status) |
| 49 self.assertEqual('application/zip', response.headers.get('content-type')) |
| 50 |
| 51 def testStaticFile(self): |
| 52 static_file = 'css/site.css' |
| 53 request = Request('static/%s' % static_file, {}) |
| 54 response = RenderServlet(request).Get(_CreateServerInstance()) |
| 55 self.assertEqual(200, response.status) |
| 56 self.assertEqual('text/css', response.headers.get('content-type')) |
| 57 self.assertEqual(ReadFile('docs/static/%s' % static_file), |
| 58 response.content.ToString()) |
| 59 |
| 60 def testHtmlTemplate(self): |
| 61 html_file = 'extensions/storage.html' |
| 62 request = Request(html_file, {}) |
| 63 response = RenderServlet(request).Get(_CreateServerInstance()) |
| 64 self.assertEqual(200, response.status) |
| 65 self.assertEqual('text/html', response.headers.get('content-type')) |
| 66 # Can't really test rendering all that well. |
| 67 self.assertTrue(len(response.content) > |
| 68 len(ReadFile('docs/templates/public/%s' % html_file))) |
| 69 |
| 70 if __name__ == '__main__': |
| 71 unittest.main() |
OLD | NEW |