[Checkins] SVN: Products.PluggableAuthService/branches/shh-15-masquerading/Products/PluggableAuthService/tests/test_masquerading.py Test user names and failed validation.
Stefan H. Holek
stefan at epy.co.at
Mon Mar 2 05:31:58 EST 2009
Log message for revision 97415:
Test user names and failed validation.
Changed:
U Products.PluggableAuthService/branches/shh-15-masquerading/Products/PluggableAuthService/tests/test_masquerading.py
-=-
Modified: Products.PluggableAuthService/branches/shh-15-masquerading/Products/PluggableAuthService/tests/test_masquerading.py
===================================================================
--- Products.PluggableAuthService/branches/shh-15-masquerading/Products/PluggableAuthService/tests/test_masquerading.py 2009-03-02 09:57:37 UTC (rev 97414)
+++ Products.PluggableAuthService/branches/shh-15-masquerading/Products/PluggableAuthService/tests/test_masquerading.py 2009-03-02 10:31:57 UTC (rev 97415)
@@ -90,6 +90,8 @@
self.folder.manage_addDTMLMethod('doc', file='the document')
self.doc = self.folder.doc
self.doc.manage_permission(View, [pastc.user_role], acquire=False)
+ # Start out as Anonymous User
+ self.logout()
def test__extractUserIds(self):
request = self.app.REQUEST
@@ -100,48 +102,77 @@
self.assertEqual(info, 'fred/wilma')
def test__findUser(self):
- user = self.pas._findUser(self.pas.plugins, 'fred/wilma')
+ # User decoration does not find the real user name but uses the
+ # passed-in value. This is ok as PAS always passes a useful name.
+ user = self.pas._findUser(self.pas.plugins, 'fred/wilma', 'SomeValue')
self.assertEqual(user.getId(), 'wilma')
+ self.assertEqual(user.getUserName(), 'SomeValue')
self.assertEqual(user.getRoles(), ['Authenticated', pastc.user_role])
def test__findUser_masquerading_denied(self):
user = self.pas._findUser(self.pas.plugins, 'wilma/fred')
- self.failUnless(user is None)
+ self.assertEqual(user, None)
- def test__verifyUser(self):
- info = self.pas._verifyUser(self.pas.plugins, 'fred/wilma')
+ def test__verifyUser_by_login(self):
+ info = self.pas._verifyUser(self.pas.plugins, login='fred/wilma')
self.assertEqual(info['id'], 'wilma')
self.assertEqual(info['login'], 'wilma')
+ def test__verifyUser_by_id(self):
+ info = self.pas._verifyUser(self.pas.plugins, user_id='fred/wilma')
+ self.assertEqual(info['id'], 'wilma')
+ self.assertEqual(info['login'], 'wilma')
+
def test_getUser(self):
user = self.pas.getUser('fred/wilma')
self.assertEqual(user.getId(), 'wilma')
+ self.assertEqual(user.getUserName(), 'wilma')
self.assertEqual(user.getRoles(), ['Authenticated', pastc.user_role])
def test_getUserById(self):
user = self.pas.getUserById('fred/wilma')
self.assertEqual(user.getId(), 'wilma')
+ self.assertEqual(user.getUserName(), 'wilma')
self.assertEqual(user.getRoles(), ['Authenticated', pastc.user_role])
def test_validate(self):
# Rig the request so it looks like we traversed to doc
request = self.app.REQUEST
request['PUBLISHED'] = self.doc
- request['PARENTS'] = [self.app, self.folder]
+ request['PARENTS'] = [self.folder, self.app]
request.steps = list(self.doc.getPhysicalPath())
request._auth = 'Basic %s' % pastc.mkauth('fred/wilma', 'r0ck')
user = self.pas.validate(request)
self.failIf(user is None)
self.assertEqual(user.getId(), 'wilma')
+ self.assertEqual(user.getUserName(), 'wilma')
self.assertEqual(user.getRoles(), ['Authenticated', pastc.user_role])
user = getSecurityManager().getUser()
self.failIf(user is None)
self.assertEqual(user.getId(), 'wilma')
+ self.assertEqual(user.getUserName(), 'wilma')
self.assertEqual(user.getRoles(), ['Authenticated', pastc.user_role])
+ def test_validate_masquerading_denied(self):
+ # Rig the request so it looks like we traversed to doc
+ request = self.app.REQUEST
+ request['PUBLISHED'] = self.doc
+ request['PARENTS'] = [self.folder, self.app]
+ request.steps = list(self.doc.getPhysicalPath())
+ request._auth = 'Basic %s' % pastc.mkauth('wilma/fred', 'geheim')
+ user = self.pas.validate(request)
+ self.assertEqual(user, None)
+
+ user = getSecurityManager().getUser()
+ self.failIf(user is None)
+ self.assertEqual(user.getId(), None)
+ self.assertEqual(user.getUserName(), 'Anonymous User')
+ self.assertEqual(user.getRoles(), ('Anonymous',))
+
+
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(SplitMasqTests),
More information about the Checkins
mailing list