Changeset 1868
- Timestamp:
- 01/17/08 01:59:43
- Files:
-
- trunk/cherrypy/__init__.py (modified) (1 diff)
- trunk/cherrypy/lib/sessions.py (modified) (2 diffs)
- trunk/cherrypy/test/test_session.py (modified) (6 diffs)
- trunk/cherrypy/test/test_tutorials.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/__init__.py
r1850 r1868 339 339 child = getattr(serving, self.__attrname__) 340 340 return key in child 341 342 def __len__(self): 343 child = getattr(serving, self.__attrname__) 344 return len(child) 341 345 342 346 trunk/cherrypy/lib/sessions.py
r1840 r1868 263 263 self.locks[self.id].release() 264 264 self.locked = False 265 266 def __len__(self): 267 """Return the number of active sessions.""" 268 return len(self.cache) 265 269 266 270 … … 372 376 finally: 373 377 self.release_lock(path) 378 379 def __len__(self): 380 """Return the number of active sessions.""" 381 return len([fname for fname in os.listdir(self.storage_path) 382 if (fname.startswith(self.SESSION_PREFIX) 383 and not fname.endswith(self.LOCK_SUFFIX))]) 374 384 375 385 trunk/cherrypy/test/test_session.py
r1840 r1868 21 21 22 22 def setup_server(): 23 23 24 class Root: 24 25 … … 29 30 'tools.sessions.clean_freq': (1.0 / 60), 30 31 } 32 33 def clear(self): 34 cherrypy.session.cache.clear() 35 clear.exposed = True 31 36 32 37 def testGen(self): … … 90 95 return "logged in" 91 96 regen.exposed = True 97 98 def length(self): 99 return str(len(cherrypy.session)) 100 length.exposed = True 92 101 93 102 cherrypy.tree.mount(Root()) … … 106 115 107 116 def test_0_Session(self): 117 self.getPage('/clear') 118 119 self.getPage('/testStr') 120 self.assertBody('1') 121 self.getPage('/testGen', self.cookies) 122 self.assertBody('2') 123 self.getPage('/testStr', self.cookies) 124 self.assertBody('3') 125 self.getPage('/length', self.cookies) 126 self.assertBody('1') 127 self.getPage('/delkey?key=counter', self.cookies) 128 self.assertStatus(200) 129 130 self.getPage('/setsessiontype/file') 108 131 self.getPage('/testStr') 109 132 self.assertBody('1') … … 115 138 self.assertStatus(200) 116 139 117 self.getPage('/setsessiontype/file')118 self.getPage('/testStr')119 self.assertBody('1')120 self.getPage('/testGen', self.cookies)121 self.assertBody('2')122 self.getPage('/testStr', self.cookies)123 self.assertBody('3')124 self.getPage('/delkey?key=counter', self.cookies)125 self.assertStatus(200)126 127 140 # Wait for the session.timeout (1 second) 128 141 time.sleep(2) 129 142 self.getPage('/') 130 143 self.assertBody('1') 144 self.getPage('/length', self.cookies) 145 self.assertBody('1') 131 146 132 147 # Test session __contains__ 133 148 self.getPage('/keyin?key=counter', self.cookies) 134 149 self.assertBody("True") 150 cookieset1 = self.cookies 151 152 # Make a new session and test __len__ again 153 self.getPage('/') 154 self.getPage('/length', self.cookies) 155 self.assertBody('2') 135 156 136 157 # Test session delete 137 158 self.getPage('/delete', self.cookies) 159 self.assertBody("done") 160 self.getPage('/delete', cookieset1) 138 161 self.assertBody("done") 139 162 f = lambda: [x for x in os.listdir(localDir) if x.startswith('session-')] … … 173 196 data_dict[index] = v = int(self.body) 174 197 175 # Start <request_count> concurrent requests from176 # each of <client_thread_count>clients198 # Start <request_count> requests from each of 199 # <client_thread_count> concurrent clients 177 200 ts = [] 178 201 for c in xrange(client_thread_count): trunk/cherrypy/test/test_tutorials.py
r1281 r1868 118 118 self.assertBody('Hendrik Mans, CherryPy co-developer & crazy German ' 119 119 '(<a href="./">back</a>)') 120 120 121 def test07Sessions(self): 121 122 self.getPage("/load_tut_module/tut07_sessions")

