Index: tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/webapp/forms_test.py |
diff --git a/tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/webapp/forms_test.py b/tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/webapp/forms_test.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..dcac88d0a4c6112902cd8cb6b16ea81702f9decd |
--- /dev/null |
+++ b/tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/webapp/forms_test.py |
@@ -0,0 +1,159 @@ |
+#!/usr/bin/env python |
+# |
+# Copyright 2010 Google Inc. |
+# |
+# Licensed under the Apache License, Version 2.0 (the "License"); |
+# you may not use this file except in compliance with the License. |
+# You may obtain a copy of the License at |
+# |
+# http://www.apache.org/licenses/LICENSE-2.0 |
+# |
+# Unless required by applicable law or agreed to in writing, software |
+# distributed under the License is distributed on an "AS IS" BASIS, |
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+# See the License for the specific language governing permissions and |
+# limitations under the License. |
+# |
+ |
+"""Tests for protorpc.forms.""" |
+ |
+__author__ = 'rafek@google.com (Rafe Kaplan)' |
+ |
+ |
+import os |
+import unittest |
+ |
+from protorpc import test_util |
+from protorpc import webapp_test_util |
+from protorpc.webapp import forms |
+from protorpc.webapp.google_imports import template |
+ |
+ |
+class ModuleInterfaceTest(test_util.ModuleInterfaceTest, |
+ test_util.TestCase): |
+ |
+ MODULE = forms |
+ |
+ |
+def RenderTemplate(name, **params): |
+ """Load content from static file. |
+ |
+ Args: |
+ name: Name of static file to load from static directory. |
+ params: Passed in to webapp template generator. |
+ |
+ Returns: |
+ Contents of static file. |
+ """ |
+ path = os.path.join(forms._TEMPLATES_DIR, name) |
+ return template.render(path, params) |
+ |
+ |
+class ResourceHandlerTest(webapp_test_util.RequestHandlerTestBase): |
+ |
+ def CreateRequestHandler(self): |
+ return forms.ResourceHandler() |
+ |
+ def DoStaticContentTest(self, name, expected_type): |
+ """Run the static content test. |
+ |
+ Loads expected static content from source and compares with |
+ results in response. Checks content-type and cache header. |
+ |
+ Args: |
+ name: Name of file that should be served. |
+ expected_type: Expected content-type of served file. |
+ """ |
+ self.handler.get(name) |
+ |
+ content = RenderTemplate(name) |
+ self.CheckResponse('200 OK', |
+ {'content-type': expected_type, |
+ }, |
+ content) |
+ |
+ def testGet(self): |
+ self.DoStaticContentTest('forms.js', 'text/javascript') |
+ |
+ def testNoSuchFile(self): |
+ self.handler.get('unknown.txt') |
+ |
+ self.CheckResponse('404 Not Found', |
+ {}, |
+ 'Resource not found.') |
+ |
+ |
+class FormsHandlerTest(webapp_test_util.RequestHandlerTestBase): |
+ |
+ def CreateRequestHandler(self): |
+ handler = forms.FormsHandler('/myreg') |
+ self.assertEquals('/myreg', handler.registry_path) |
+ return handler |
+ |
+ def testGetForm(self): |
+ self.handler.get() |
+ |
+ content = RenderTemplate( |
+ 'forms.html', |
+ forms_path='/tmp/myhandler', |
+ hostname=self.request.host, |
+ registry_path='/myreg') |
+ |
+ self.CheckResponse('200 OK', |
+ {}, |
+ content) |
+ |
+ def testGet_MissingPath(self): |
+ self.ResetHandler({'QUERY_STRING': 'method=my_method'}) |
+ |
+ self.handler.get() |
+ |
+ content = RenderTemplate( |
+ 'forms.html', |
+ forms_path='/tmp/myhandler', |
+ hostname=self.request.host, |
+ registry_path='/myreg') |
+ |
+ self.CheckResponse('200 OK', |
+ {}, |
+ content) |
+ |
+ def testGet_MissingMethod(self): |
+ self.ResetHandler({'QUERY_STRING': 'path=/my-path'}) |
+ |
+ self.handler.get() |
+ |
+ content = RenderTemplate( |
+ 'forms.html', |
+ forms_path='/tmp/myhandler', |
+ hostname=self.request.host, |
+ registry_path='/myreg') |
+ |
+ self.CheckResponse('200 OK', |
+ {}, |
+ content) |
+ |
+ def testGetMethod(self): |
+ self.ResetHandler({'QUERY_STRING': 'path=/my-path&method=my_method'}) |
+ |
+ self.handler.get() |
+ |
+ content = RenderTemplate( |
+ 'methods.html', |
+ forms_path='/tmp/myhandler', |
+ hostname=self.request.host, |
+ registry_path='/myreg', |
+ service_path='/my-path', |
+ method_name='my_method') |
+ |
+ self.CheckResponse('200 OK', |
+ {}, |
+ content) |
+ |
+ |
+def main(): |
+ unittest.main() |
+ |
+ |
+if __name__ == '__main__': |
+ main() |