1#!/usr/bin/env python 2 3from json import loads 4 5from circuits.web import JSONController, Sessions 6 7from .helpers import urlopen, build_opener, HTTPCookieProcessor 8from .helpers import CookieJar 9 10 11class Root(JSONController): 12 13 def index(self): 14 return {"success": True, "message": "Hello World!"} 15 16 def test_sessions(self, name=None): 17 if name: 18 self.session["name"] = name 19 else: 20 name = self.session.get("name", "World!") 21 22 return {"success": True, "message": "Hello %s" % name} 23 24 25def test(webapp): 26 f = urlopen(webapp.server.http.base) 27 data = f.read() 28 data = data.decode("utf-8") 29 d = loads(data) 30 assert d["success"] 31 assert d["message"] == "Hello World!" 32 33 34def test_sessions(webapp): 35 Sessions().register(webapp) 36 37 cj = CookieJar() 38 opener = build_opener(HTTPCookieProcessor(cj)) 39 40 f = opener.open("%s/test_sessions" % webapp.server.http.base) 41 data = f.read() 42 data = data.decode("utf-8") 43 d = loads(data) 44 assert d["success"] 45 assert d["message"] == "Hello World!" 46 47 f = opener.open("%s/test_sessions/test" % webapp.server.http.base) 48 data = f.read() 49 data = data.decode("utf-8") 50 d = loads(data) 51 assert d["success"] 52 assert d["message"] == "Hello test" 53 54 f = opener.open("%s/test_sessions" % webapp.server.http.base) 55 data = f.read() 56 data = data.decode("utf-8") 57 d = loads(data) 58 assert d["success"] 59 assert d["message"] == "Hello test" 60