summaryrefslogtreecommitdiff
path: root/tests/test_session.py
diff options
context:
space:
mode:
authormatt <matt@xcolour.net>2013-01-28 11:32:18 -0500
committermatt <matt@xcolour.net>2013-01-28 11:32:18 -0500
commit1afcb52d73271bbbd78f885451aa1b0e78c09871 (patch)
tree9145840d6036fcbc0b6647c88f679a567fa8c54d /tests/test_session.py
downloadpaste-git-stringio.tar.gz
Import StringIO so it can be used.stringio
Diffstat (limited to 'tests/test_session.py')
-rw-r--r--tests/test_session.py52
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'
+
+