From 6af3eb564d178410569232a8fbefaf681e588744 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sat, 30 Oct 2010 02:23:03 -0400 Subject: make sure session implements the interface correctly --- pyramid/session.py | 5 +++++ pyramid/tests/test_session.py | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/pyramid/session.py b/pyramid/session.py index 95d790a7b..2906bba15 100644 --- a/pyramid/session.py +++ b/pyramid/session.py @@ -15,6 +15,10 @@ import binascii import time import base64 +from zope.interface import implements + +from pyramid.interfaces import ISession + def manage_accessed(wrapped): """ Decorator which causes a cookie to be set when a wrapped method is called""" @@ -90,6 +94,7 @@ def InsecureCookieSessionFactoryConfig( class InsecureCookieSessionFactory(dict): """ Dictionary-like session object """ + implements(ISession) # configuration parameters _cookie_name = cookie_name diff --git a/pyramid/tests/test_session.py b/pyramid/tests/test_session.py index ff5c126cb..4c80cebfa 100644 --- a/pyramid/tests/test_session.py +++ b/pyramid/tests/test_session.py @@ -11,6 +11,13 @@ class TestInsecureCookieSession(unittest.TestCase): session = self._makeOne(request) self.assertEqual(dict(session), {}) + def test_instance_conforms(self): + from zope.interface.verify import verifyObject + from pyramid.interfaces import ISession + request = testing.DummyRequest() + session = self._makeOne(request) + verifyObject(ISession, session) + def _serialize(self, accessed, state, secret='secret'): from pyramid.session import signed_serialize return signed_serialize((accessed, accessed, state), secret) -- cgit v1.2.3