[Checkins] SVN: PluggableAuthService/branches/z3-events/ Add a
handler for the IUserCredentialsUpdatedEvent which makes a
PAS trigger its active credentials updating plugins
Wichert Akkerman
wichert at wiggy.net
Sat Jun 9 14:20:25 EDT 2007
Log message for revision 76549:
Add a handler for the IUserCredentialsUpdatedEvent which makes a PAS trigger its active credentials updating plugins
Changed:
U PluggableAuthService/branches/z3-events/PluggableAuthService.py
U PluggableAuthService/branches/z3-events/configure.zcml
U PluggableAuthService/branches/z3-events/events.py
A PluggableAuthService/branches/z3-events/events.zcml
U PluggableAuthService/branches/z3-events/tests/test_UserFolder.py
-=-
Modified: PluggableAuthService/branches/z3-events/PluggableAuthService.py
===================================================================
--- PluggableAuthService/branches/z3-events/PluggableAuthService.py 2007-06-09 16:19:34 UTC (rev 76548)
+++ PluggableAuthService/branches/z3-events/PluggableAuthService.py 2007-06-09 18:20:25 UTC (rev 76549)
@@ -78,7 +78,6 @@
from interfaces.plugins import IRequestTypeSniffer
from events import UserCreated
-from events import UserCredentialsUpdated
from permissions import SearchPrincipals
Modified: PluggableAuthService/branches/z3-events/configure.zcml
===================================================================
--- PluggableAuthService/branches/z3-events/configure.zcml 2007-06-09 16:19:34 UTC (rev 76548)
+++ PluggableAuthService/branches/z3-events/configure.zcml 2007-06-09 18:20:25 UTC (rev 76549)
@@ -4,4 +4,6 @@
<include file="exportimport.zcml" />
+ <include file="events.zcml" />
+
</configure>
Modified: PluggableAuthService/branches/z3-events/events.py
===================================================================
--- PluggableAuthService/branches/z3-events/events.py 2007-06-09 16:19:34 UTC (rev 76548)
+++ PluggableAuthService/branches/z3-events/events.py 2007-06-09 18:20:25 UTC (rev 76549)
@@ -38,3 +38,12 @@
self.acl_users=acl_users
self.userid=userid
self.properties=properties
+
+def userCredentialsUpdatedHandler(event):
+ event.acl_users.updateCredentials(
+ event.acl_users,
+ event.acl_users.REQUEST,
+ event.acl_users.REQUEST.RESPONSE,
+ event.userid,
+ event.password)
+
Added: PluggableAuthService/branches/z3-events/events.zcml
===================================================================
--- PluggableAuthService/branches/z3-events/events.zcml (rev 0)
+++ PluggableAuthService/branches/z3-events/events.zcml 2007-06-09 18:20:25 UTC (rev 76549)
@@ -0,0 +1,10 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ >
+
+ <subscriber
+ for=".interfaces.events.IUserCredentialsUpdatedEvent"
+ handler=".events.userCredentialsUpdatedHandler"
+ />
+
+</configure>
Property changes on: PluggableAuthService/branches/z3-events/events.zcml
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: PluggableAuthService/branches/z3-events/tests/test_UserFolder.py
===================================================================
--- PluggableAuthService/branches/z3-events/tests/test_UserFolder.py 2007-06-09 16:19:34 UTC (rev 76548)
+++ PluggableAuthService/branches/z3-events/tests/test_UserFolder.py 2007-06-09 18:20:25 UTC (rev 76549)
@@ -23,10 +23,11 @@
from Products.PluggableAuthService.PluggableAuthService import PluggableAuthService
-
+from zope import event
from zope.component import adapter
from zope.component import provideHandler
from Products.PluggableAuthService.interfaces.events import IUserCreatedEvent
+from Products.PluggableAuthService.events import UserCredentialsUpdated
@adapter(IUserCreatedEvent)
def userCreatedHandler(event):
@@ -310,8 +311,20 @@
self.assertEqual(event.login, 'event1')
self.assertEqual(event.userid, 'event1')
+ def testCredentialsEvent(self):
+ def wrap(self, *args):
+ self._data.append(args)
+ return self._original(*args)
+ self.uf._data=[]
+ self.uf._original=self.uf.updateCredentials
+ self.uf.updateCredentials=wrap
+ event.notify(UserCredentialsUpdated(self.uf, "user1", "testpassword"))
+ self.assertEqual(len(self.uf._data), 1)
+ self.assertEqual(self.uf._data[0][2], "user1")
+ self.assertEqual(self.uf._data[0][3], "testpassword")
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(UserFolderTests))
More information about the Checkins
mailing list