diff options
Diffstat (limited to 'tests/units/toolkit')
-rwxr-xr-x | tests/units/toolkit/http.py | 83 | ||||
-rwxr-xr-x | tests/units/toolkit/router.py | 41 | ||||
-rwxr-xr-x | tests/units/toolkit/toolkit.py | 11 |
3 files changed, 8 insertions, 127 deletions
diff --git a/tests/units/toolkit/http.py b/tests/units/toolkit/http.py index d21af37..2ac3cab 100755 --- a/tests/units/toolkit/http.py +++ b/tests/units/toolkit/http.py @@ -107,89 +107,6 @@ class HTTPTest(tests.Test): }) self.assertEqual('result', json.load(client.call(request))) - def test_call_ReturnMeta(self): - - class Commands(object): - - @route('HEAD') - def f1(self, response): - response.meta['str'] = 'str' - response.meta['bool'] = True - response.meta['int'] = -1 - - @route('POST') - def f2(self): - response.meta['str'] = 'STR' - response.meta['bool'] = False - response.meta['int'] = 1 - - @route('GET') - def f3(self): - response.meta['str'] = 'FOO' - response.meta['bool'] = True - response.meta['int'] = 10 - - server = coroutine.WSGIServer(('127.0.0.1', local.ipc_port.value), Router(Commands())) - coroutine.spawn(server.serve_forever) - coroutine.dispatch() - conn = http.Connection('http://127.0.0.1:%s' % local.ipc_port.value) - - request = Request({ - 'REQUEST_METHOD': 'HEAD', - 'PATH_INFO': '/', - }) - response = Response() - conn.call(request, response) - self.assertEqual({ - 'int': -1, - 'bool': True, - 'str': 'str', - }, response.meta) - - response = Response() - conn.call(Request(method='POST'), response) - self.assertEqual({ - 'int': 1, - 'bool': False, - 'str': 'STR', - }, response.meta) - - response = Response() - conn.call(Request(method='GET'), response) - self.assertEqual({ - 'int': 10, - 'bool': True, - 'str': 'FOO', - }, response.meta) - - def test_call_ReturnMetaOnRedirects(self): - - class Front(object): - - @route('GET') - def get(self, response): - response.meta['front'] = 'value1' - raise http.Redirect('http://127.0.0.1:%s' % (local.ipc_port.value + 1)) - - server = coroutine.WSGIServer(('127.0.0.1', local.ipc_port.value), Router(Front())) - coroutine.spawn(server.serve_forever) - - class Back(object): - - @route('GET') - def get(self, response): - response.meta['back'] = 'value2' - - server = coroutine.WSGIServer(('127.0.0.1', local.ipc_port.value + 1), Router(Back())) - coroutine.spawn(server.serve_forever) - - conn = http.Connection('http://127.0.0.1:%s' % local.ipc_port.value) - coroutine.dispatch() - - response = Response() - stream = conn.call(Request(method='GET'), response) - self.assertEqual({'front': 'value1', 'back': 'value2'}, response.meta) - if __name__ == '__main__': tests.main() diff --git a/tests/units/toolkit/router.py b/tests/units/toolkit/router.py index 3dd1306..7d8af39 100755 --- a/tests/units/toolkit/router.py +++ b/tests/units/toolkit/router.py @@ -10,7 +10,7 @@ from cStringIO import StringIO from __init__ import tests, src_root from sugar_network import db, client, toolkit -from sugar_network.toolkit.router import Router, Request, _parse_accept_language, route, fallbackroute, preroute, postroute +from sugar_network.toolkit.router import Router, Request, _parse_accept_language, route, fallbackroute, preroute, postroute, File from sugar_network.toolkit.coroutine import this from sugar_network.toolkit import http, coroutine @@ -984,8 +984,8 @@ class RouterTest(tests.Test): lambda status, headers: response.extend([status, dict(headers)])) self.assertEqual('', ''.join([i for i in reply])) self.assertEqual([ - '001 Status', - {'X-SN-error': '"Status-Error"'}, + '001 Status-Error', + {}, ], response) @@ -1025,7 +1025,7 @@ class RouterTest(tests.Test): @route('GET') def get(self, response): - return toolkit.File(meta={'url': URL}) + return File(None, meta=[('location', URL)]) router = Router(CommandsProcessor()) @@ -1226,13 +1226,9 @@ class RouterTest(tests.Test): class CommandsProcessor(object): - @route('GET', [], '1') - def cmd1(self, request): - return toolkit.File('blob.data', {'name': 'foo', 'mime_type': 'application/octet-stream'}) - - @route('GET', [], cmd='2') - def cmd2(self, request): - return toolkit.File('blob.data', {'filename': 'foo.bar'}) + @route('GET', []) + def probe(self, request): + return File('blob.data', meta=[('content-disposition', 'attachment; filename="foo.bar"')]) router = Router(CommandsProcessor()) @@ -1240,27 +1236,6 @@ class RouterTest(tests.Test): reply = router({ 'PATH_INFO': '/', 'REQUEST_METHOD': 'GET', - 'QUERY_STRING': 'cmd=1', - }, - lambda status, headers: response.extend([status, dict(headers)])) - result = 'value' - self.assertEqual(result, ''.join([i for i in reply])) - self.assertEqual([ - '200 OK', - { - 'last-modified': formatdate(os.stat('blob.data').st_mtime, localtime=False, usegmt=True), - 'content-length': str(len(result)), - 'content-type': 'application/octet-stream', - 'content-disposition': 'attachment; filename="foo.obj"', - } - ], - response) - - response = [] - reply = router({ - 'PATH_INFO': '/', - 'REQUEST_METHOD': 'GET', - 'QUERY_STRING': 'cmd=2', }, lambda status, headers: response.extend([status, dict(headers)])) result = 'value' @@ -1268,9 +1243,7 @@ class RouterTest(tests.Test): self.assertEqual([ '200 OK', { - 'last-modified': formatdate(os.stat('blob.data').st_mtime, localtime=False, usegmt=True), 'content-length': str(len(result)), - 'content-type': 'application/octet-stream', 'content-disposition': 'attachment; filename="foo.bar"', } ], diff --git a/tests/units/toolkit/toolkit.py b/tests/units/toolkit/toolkit.py index 07ed9c6..87f0c2f 100755 --- a/tests/units/toolkit/toolkit.py +++ b/tests/units/toolkit/toolkit.py @@ -8,7 +8,7 @@ from cStringIO import StringIO from __init__ import tests from sugar_network import toolkit -from sugar_network.toolkit import Seqno, Sequence, File +from sugar_network.toolkit import Seqno, Sequence class UtilTest(tests.Test): @@ -421,15 +421,6 @@ class UtilTest(tests.Test): ['d', 'a', 'b', 'c'], [i for i in stack]) - def test_FileName(self): - self.assertEqual('blob', File().name) - self.assertEqual('blob', File('foo/bar').name) - self.assertEqual('digest', File(digest='digest').name) - self.assertEqual('foo', File(meta={'filename': 'foo'}).name) - self.assertEqual('foo', File(meta={'name': 'foo'}).name) - self.assertEqual('foo', File(meta={'filename': 'foo', 'mime_type': 'image/png'}).name) - self.assertEqual('digest.png', File(digest='digest', meta={'mime_type': 'image/png'}).name) - if __name__ == '__main__': tests.main() |