⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 api.py

📁 一款基于web的项目管理、bug跟踪系统。提供了与svn集成的操作界面、问题跟踪
💻 PY
字号:
# -*- coding: utf-8 -*-from trac.test import Mockfrom trac.web.api import Request, RequestDonefrom trac.web.clearsilver import HDFWrapperfrom Cookie import SimpleCookie as Cookiefrom StringIO import StringIOimport unittestclass RequestTestCase(unittest.TestCase):    def _make_environ(self, scheme='http', server_name='example.org',                      server_port=80, method='GET', script_name='/trac',                      **kwargs):        environ = {'wsgi.url_scheme': scheme, 'wsgi.input': StringIO(''),                   'REQUEST_METHOD': method, 'SERVER_NAME': server_name,                   'SERVER_PORT': server_port, 'SCRIPT_NAME': script_name}        environ.update(kwargs)        return environ    def test_base_url(self):        environ = self._make_environ()        req = Request(environ, None)        self.assertEqual('http://example.org/trac', req.base_url)    def test_base_url_host(self):        environ = self._make_environ(server_port=8080, HTTP_HOST='example.com')        req = Request(environ, None)        self.assertEqual('http://example.com/trac', req.base_url)    def test_base_url_nondefaultport(self):        environ = self._make_environ(server_port=8080)        req = Request(environ, None)        self.assertEqual('http://example.org:8080/trac', req.base_url)    def test_base_url_https(self):        environ = self._make_environ(scheme='https', server_port=443)        req = Request(environ, None)        self.assertEqual('https://example.org/trac', req.base_url)    def test_base_url_https_host(self):        environ = self._make_environ(scheme='https', server_port=443,                                     HTTP_HOST='example.com')        req = Request(environ, None)        self.assertEqual('https://example.com/trac', req.base_url)    def test_base_url_https_nondefaultport(self):        environ = self._make_environ(scheme='https', server_port=8443)        req = Request(environ, None)        self.assertEqual('https://example.org:8443/trac', req.base_url)    def test_base_url_proxy(self):        environ = self._make_environ(HTTP_HOST='localhost',                                     HTTP_X_FORWARDED_HOST='example.com')        req = Request(environ, None)        self.assertEqual('http://localhost/trac', req.base_url)    def test_redirect(self):        status_sent = []        headers_sent = {}        def start_response(status, headers):            status_sent.append(status)            headers_sent.update(dict(headers))        environ = self._make_environ(method='HEAD')        req = Request(environ, start_response)        req.session = None        self.assertRaises(RequestDone, req.redirect, '/trac/test')        self.assertEqual('302 Found', status_sent[0])        self.assertEqual('http://example.org/trac/test',                         headers_sent['Location'])    def test_redirect_absolute(self):        status_sent = []        headers_sent = {}        def start_response(status, headers):            status_sent.append(status)            headers_sent.update(dict(headers))        environ = self._make_environ(method='HEAD')        req = Request(environ, start_response,)        req.session = None        self.assertRaises(RequestDone, req.redirect,                          'http://example.com/trac/test')        self.assertEqual('302 Found', status_sent[0])        self.assertEqual('http://example.com/trac/test',                         headers_sent['Location'])    def test_write_unicode(self):        buf = StringIO()        def write(data):            buf.write(data)        def start_response(status, headers):            return write        environ = self._make_environ(method='HEAD')        req = Request(environ, start_response)        req.send_header('Content-Type', 'text/plain;charset=utf-8')        req.write(u'F枚枚')        self.assertEqual('F枚枚', buf.getvalue())    def test_invalid_cookies(self):        environ = self._make_environ(HTTP_COOKIE='bad:key=value;')        req = Request(environ, None)        self.assertEqual('', str(req.incookie))    def test_read(self):        environ = self._make_environ(**{'wsgi.input': StringIO('test input')})        req = Request(environ, None)        self.assertEqual('test input', req.read())    def test_read_size(self):        environ = self._make_environ(**{'wsgi.input': StringIO('test input')})        req = Request(environ, None)        self.assertEqual('test', req.read(size=4))def suite():    suite = unittest.TestSuite()    suite.addTest(unittest.makeSuite(RequestTestCase, 'test'))    return suiteif __name__ == '__main__':    unittest.main()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -