[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security/tests - testPrincipalRegistry.py:1.1.2.1
Jim Fulton
jim@zope.com
Wed, 12 Dec 2001 16:37:36 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/App/Security/tests
In directory cvs.zope.org:/tmp/cvs-serv31987/tests
Added Files:
Tag: Zope-3x-branch
testPrincipalRegistry.py
Log Message:
Initial cut at IAuthenticationService without actual authentication.
Note that IAuthenticationService may get factored into separate
services based on pje's suggestions, unless it isn't.
=== Added File Zope3/lib/python/Zope/App/Security/tests/testPrincipalRegistry.py ===
##############################################################################
# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 1.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
##############################################################################
import unittest, sys
from Zope.App.Security.PrincipalRegistry import PrincipalRegistry
from Zope.App.Security.PrincipalRegistry import DuplicateLogin, DuplicateId
from Zope.Exceptions import NotFoundError
class Test(unittest.TestCase):
def setUp(self):
self.reg = PrincipalRegistry()
self.reg.definePrincipal('1', 'Tim Peters', 'Sir Tim Peters',
'tim', '123')
self.reg.definePrincipal('2', 'Jim Fulton', 'Sir Jim Fulton',
'jim', '456')
def testRegistered(self):
p = self.reg.getPrincipal('1')
self.assertEqual(p.getId(), '1')
self.assertEqual(p.getTitle(), 'Tim Peters')
self.assertEqual(p.getDescription(), 'Sir Tim Peters')
p = self.reg.getPrincipal('2')
self.assertEqual(p.getId(), '2')
self.assertEqual(p.getTitle(), 'Jim Fulton')
self.assertEqual(p.getDescription(), 'Sir Jim Fulton')
self.assertEqual(len(self.reg.getPrincipals('')), 2)
def testUnRegistered(self):
self.assertRaises(NotFoundError, self.reg.getPrincipal, '3')
def testDup(self):
self.assertRaises(DuplicateId,
self.reg.definePrincipal,
'1', 'Tim Peters', 'Sir Tim Peters',
'tim2', '123')
self.assertRaises(DuplicateLogin,
self.reg.definePrincipal,
'3', 'Tim Peters', 'Sir Tim Peters',
'tim', '123')
self.assertRaises(NotFoundError, self.reg.getPrincipal, '3')
self.assertEqual(len(self.reg.getPrincipals('')), 2)
def testSearch(self):
r = self.reg.getPrincipals('J')
self.assertEquals(len(r), 1)
self.failUnless(r[0] is self.reg.getPrincipal('2'))
def test_suite():
loader=unittest.TestLoader()
return loader.loadTestsFromTestCase(Test)
if __name__=='__main__':
unittest.TextTestRunner().run(test_suite())