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

Unified Diff: chrome/common/extensions/docs/server2/render_servlet_test.py

Issue 15009006: Docserver: refactor Servlet, ObjectStore, and ServerInstance architecture to (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cduvall, redirect fix Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/server2/render_servlet_test.py
diff --git a/chrome/common/extensions/docs/server2/render_servlet_test.py b/chrome/common/extensions/docs/server2/render_servlet_test.py
new file mode 100755
index 0000000000000000000000000000000000000000..c818ce50beae291493dbd1d3b8b874fdb4e1fd3a
--- /dev/null
+++ b/chrome/common/extensions/docs/server2/render_servlet_test.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import unittest
+
+from local_file_system import LocalFileSystem
+from render_servlet import RenderServlet
+from server_instance import ServerInstance
+from servlet import Request
+from test_util import DisableLogging, ReadFile
+
+class _RenderServletDelegate(RenderServlet.Delegate):
+ def CreateServerInstanceForChannel(self, channel):
+ return ServerInstance.ForTest(LocalFileSystem.Create())
+
+class RenderServletTest(unittest.TestCase):
+ def testExtensionAppRedirect(self):
+ request = Request.ForTest('storage.html')
+ response = RenderServlet(request, _RenderServletDelegate()).Get()
+ self.assertEqual(302, response.status)
+
+ def testDefaultChannel(self):
+ request = Request.ForTest('stable/extensions/storage.html')
+ response = RenderServlet(request, _RenderServletDelegate()).Get()
+ self.assertEqual(302, response.status)
+
+ @DisableLogging('warning')
+ def testNotFound(self):
+ request = Request.ForTest('extensions/not_found.html')
+ response = RenderServlet(request, _RenderServletDelegate()).Get()
+ self.assertEqual(404, response.status)
+
+ def testSampleFile(self):
+ sample_file = 'extensions/talking_alarm_clock/background.js'
+ request = Request.ForTest('extensions/examples/%s' % sample_file)
+ response = RenderServlet(request, _RenderServletDelegate()).Get()
+ self.assertEqual(200, response.status)
+ self.assertEqual('application/javascript',
+ response.headers.get('content-type'))
+ self.assertEqual(ReadFile('docs/examples/%s' % sample_file),
+ response.content.ToString())
+
+ def testSampleZip(self):
+ sample_dir = 'extensions/talking_alarm_clock'
+ request = Request.ForTest('extensions/examples/%s.zip' % sample_dir)
+ response = RenderServlet(request, _RenderServletDelegate()).Get()
+ self.assertEqual(200, response.status)
+ self.assertEqual('application/zip', response.headers.get('content-type'))
+
+ def testStaticFile(self):
+ static_file = 'css/site.css'
+ request = Request.ForTest('static/%s' % static_file)
+ response = RenderServlet(request, _RenderServletDelegate()).Get()
+ self.assertEqual(200, response.status)
+ self.assertEqual('text/css', response.headers.get('content-type'))
+ self.assertEqual(ReadFile('docs/static/%s' % static_file),
+ response.content.ToString())
+
+ def testHtmlTemplate(self):
+ html_file = 'extensions/storage.html'
+ request = Request.ForTest(html_file)
+ response = RenderServlet(request, _RenderServletDelegate()).Get()
+ self.assertEqual(200, response.status)
+ self.assertEqual('text/html', response.headers.get('content-type'))
+ # Can't really test rendering all that well.
+ self.assertTrue(len(response.content) >
+ len(ReadFile('docs/templates/public/%s' % html_file)))
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698