Browse Source

set session accessed for setdefault

pull/2288/head
David Lord 7 years ago
parent
commit
5d9dd0b379
No known key found for this signature in database
GPG Key ID: 7A1C87E3F5BC42A8
  1. 5
      flask/sessions.py
  2. 40
      tests/test_basic.py

5
flask/sessions.py

@ -138,6 +138,11 @@ class SecureCookieSession(CallbackDict, SessionMixin):
self.accessed = True
return super(SecureCookieSession, self).get(key, default)
def setdefault(self, key, default=None):
self.accessed = True
return super(SecureCookieSession, self).setdefault(key, default)
class NullSession(SecureCookieSession):
"""Class used to generate nicer error messages if sessions are not
available. Will still allow read-only access to the empty session

40
tests/test_basic.py

@ -533,20 +533,22 @@ def test_session_vary_cookie():
app = flask.Flask(__name__)
app.secret_key = 'testkey'
@app.route('/set-session')
@app.route('/set')
def set_session():
flask.session['test'] = 'test'
return ''
@app.route('/get-session')
def get_session():
s = flask.session.get('test')
return ''
@app.route('/get')
def get():
return flask.session.get('test')
@app.route('/get-session-with-dictionary')
def get_session_with_dictionary():
s = flask.session['test']
return ''
@app.route('/getitem')
def getitem():
return flask.session['test']
@app.route('/setdefault')
def setdefault():
return flask.session.setdefault('test', 'default')
@app.route('/no-vary-header')
def no_vary_header():
@ -554,17 +556,19 @@ def test_session_vary_cookie():
c = app.test_client()
rv = c.get('/set-session')
assert rv.headers['Vary'] == 'Cookie'
rv = c.get('/get-session')
assert rv.headers['Vary'] == 'Cookie'
def expect(path, header=True):
rv = c.get(path)
rv = c.get('/get-session-with-dictionary')
assert rv.headers['Vary'] == 'Cookie'
if header:
assert rv.headers['Vary'] == 'Cookie'
else:
assert 'Vary' not in rv.headers
rv = c.get('/no-vary-header')
assert 'Vary' not in rv.headers
expect('/set')
expect('/get')
expect('/getitem')
expect('/setdefault')
expect('/no-vary-header', False)
def test_flashes():

Loading…
Cancel
Save