[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security/tests - testPrincipalDirective.py:1.1.2.1
Jim Fulton
jim@zope.com
Wed, 12 Dec 2001 18:01:29 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/App/Security/tests
In directory cvs.zope.org:/tmp/cvs-serv3522/tests
Added Files:
Tag: Zope-3x-branch
testPrincipalDirective.py
Log Message:
Added a principal configuration directive.
=== Added File Zope3/lib/python/Zope/App/Security/tests/testPrincipalDirective.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.Configuration.xmlconfig import xmlconfig
from StringIO import StringIO
from Zope.App.Security.PrincipalRegistry import globalRegistry
from Zope.App.Security.metaConfigure import metaConfigure
metaConfigure()
def configfile(s):
return StringIO("""<zopeConfigure
xmlns='http://namespaces.zope.org/zope'
xmlns:security='http://namespaces.zope.org/security'>
%s
</zopeConfigure>
""" % s)
class Test(unittest.TestCase):
def setUp(self): globalRegistry.clear()
def tearDown(self): globalRegistry.clear()
def testRegister(self):
f = configfile("""<security:principal principal="1"
title="Sir Tim Peters"
description="Tim Peters"
login="tim" password="123" />
<security:principal principal="2"
title="Sir Jim Fulton"
description="Jim Fulton"
login="jim" password="123" />""")
xmlconfig(f)
reg=globalRegistry
p = reg.getPrincipal('1')
self.assertEqual(p.getId(), '1')
self.assertEqual(p.getTitle(), 'Sir Tim Peters')
self.assertEqual(p.getDescription(), 'Tim Peters')
p = reg.getPrincipal('2')
self.assertEqual(p.getId(), '2')
self.assertEqual(p.getTitle(), 'Sir Jim Fulton')
self.assertEqual(p.getDescription(), 'Jim Fulton')
self.assertEqual(len(reg.getPrincipals('')), 2)
def test_suite():
loader=unittest.TestLoader()
return loader.loadTestsFromTestCase(Test)
if __name__=='__main__':
unittest.TextTestRunner().run(test_suite())