summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2010-10-30 02:23:03 -0400
committerChris McDonough <chrism@plope.com>2010-10-30 02:23:03 -0400
commit6af3eb564d178410569232a8fbefaf681e588744 (patch)
tree0c1f6f785d9111b6ebb005bd310cc169282f6196
parent123ee03fbe97fdd1efe4a85dc154ca99be270d60 (diff)
downloadpyramid-6af3eb564d178410569232a8fbefaf681e588744.tar.gz
pyramid-6af3eb564d178410569232a8fbefaf681e588744.tar.bz2
pyramid-6af3eb564d178410569232a8fbefaf681e588744.zip
make sure session implements the interface correctly
-rw-r--r--pyramid/session.py5
-rw-r--r--pyramid/tests/test_session.py7
2 files changed, 12 insertions, 0 deletions
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)