diff options
| author | ianb <devnull@localhost> | 2006-06-21 04:26:25 +0000 |
|---|---|---|
| committer | ianb <devnull@localhost> | 2006-06-21 04:26:25 +0000 |
| commit | 16bf2b6740697c756bcd9f20cb39f8df4dd2c5eb (patch) | |
| tree | 5b855df465bc8e19f08f7b2baccbe1ddba6093bc /tests/test_session.py | |
| parent | 244e7f73d363515254abda722ab2a90b46533412 (diff) | |
| download | paste-16bf2b6740697c756bcd9f20cb39f8df4dd2c5eb.tar.gz | |
Made it possible to create the session after start_response is called but before the first content is sent to the server
Diffstat (limited to 'tests/test_session.py')
| -rw-r--r-- | tests/test_session.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/test_session.py b/tests/test_session.py new file mode 100644 index 0000000..621d284 --- /dev/null +++ b/tests/test_session.py @@ -0,0 +1,52 @@ +from paste.session import SessionMiddleware +from paste.fixture import TestApp + +info = [] + +def wsgi_app(environ, start_response): + pi = environ.get('PATH_INFO', '') + if pi in ('/get1', '/get2'): + if pi == '/get1': + sess = environ['paste.session.factory']() + start_response('200 OK', [('content-type', 'text/plain')]) + if pi == '/get2': + sess = environ['paste.session.factory']() + if 'info' in sess: + return [str(sess['info'])] + else: + return ['no-info'] + if pi in ('/put1', '/put2'): + if pi == '/put1': + sess = environ['paste.session.factory']() + sess['info'] = info[0] + start_response('200 OK', [('content-type', 'text/plain')]) + if pi == '/put2': + sess = environ['paste.session.factory']() + sess['info'] = info[0] + return ['foo'] + +wsgi_app = SessionMiddleware(wsgi_app) + +def test_app1(): + app = TestApp(wsgi_app) + res = app.get('/get1') + assert res.body == 'no-info' + res = app.get('/get2') + assert res.body == 'no-info' + info[:] = ['test'] + res = app.get('/put1') + res = app.get('/get1') + assert res.body == 'test' + res = app.get('/get2') + assert res.body == 'test' + +def test_app2(): + app = TestApp(wsgi_app) + info[:] = ['fluff'] + res = app.get('/put2') + res = app.get('/get1') + assert res.body == 'fluff' + res = app.get('/get2') + assert res.body == 'fluff' + + |
