~ztk-steering-group/zope.authentication/trunk-SVN

« back to all changes in this revision

Viewing changes to src/zope/authentication/tests/test_securitydirectives.py

  • Committer: nadako
  • Date: 2009-03-11 22:31:33 UTC
  • Revision ID: svn-v4:62d5b8a3-27da-0310-9561-8e5933582275:zope.authentication/trunk:97931
Get some shape.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
##############################################################################
2
 
#
3
 
# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
4
 
# All Rights Reserved.
5
 
#
6
 
# This software is subject to the provisions of the Zope Public License,
7
 
# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
8
 
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
9
 
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
10
 
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
11
 
# FOR A PARTICULAR PURPOSE.
12
 
#
13
 
##############################################################################
14
 
"""Security Directives Tests
15
 
 
16
 
$Id$
17
 
"""
18
 
import unittest
19
 
from zope.configuration.config import ConfigurationConflictError
20
 
from zope.configuration import xmlconfig
21
 
 
22
 
from zope.component import getUtility
23
 
from zope.app.testing import ztapi
24
 
from zope.app.testing.placelesssetup import PlacelessSetup
25
 
 
26
 
from zope.security.interfaces import IPermission
27
 
from zope.app.security.interfaces import IAuthentication
28
 
from zope.app.security.principalregistry import principalRegistry
29
 
import zope.app.security.tests
30
 
 
31
 
 
32
 
class TestBase(PlacelessSetup):
33
 
 
34
 
    def setUp(self):
35
 
        super(TestBase, self).setUp()
36
 
        ztapi.provideUtility(IAuthentication, principalRegistry)
37
 
 
38
 
 
39
 
class TestPrincipalDirective(TestBase, unittest.TestCase):
40
 
 
41
 
    def testRegister(self):
42
 
        context = xmlconfig.file("principal.zcml", zope.app.security.tests)
43
 
        reg=principalRegistry
44
 
 
45
 
        p = reg.getPrincipal('zope.p1')
46
 
        self.assertEqual(p.id, 'zope.p1')
47
 
        self.assertEqual(p.title, 'Sir Tim Peters')
48
 
        self.assertEqual(p.description, 'Tim Peters')
49
 
        p = reg.getPrincipal('zope.p2')
50
 
        self.assertEqual(p.id, 'zope.p2')
51
 
        self.assertEqual(p.title, 'Sir Jim Fulton')
52
 
        self.assertEqual(p.description, 'Jim Fulton')
53
 
 
54
 
        self.assertEqual(len(reg.getPrincipals('')), 2)
55
 
 
56
 
 
57
 
class TestPermissionDirective(TestBase, unittest.TestCase):
58
 
 
59
 
    def testRegister(self):
60
 
        context = xmlconfig.file("perm.zcml", zope.app.security.tests)
61
 
        perm = getUtility(IPermission, "Can.Do.It")
62
 
        self.failUnless(perm.id.endswith('Can.Do.It'))
63
 
        self.assertEqual(perm.title, 'A Permissive Permission')
64
 
        self.assertEqual(perm.description,
65
 
                         'This permission lets you do anything')
66
 
 
67
 
    def testDuplicationRegistration(self):
68
 
        self.assertRaises(ConfigurationConflictError, xmlconfig.file,
69
 
                          "perm_duplicate.zcml", zope.app.security.tests)
70
 
 
71
 
 
72
 
def test_suite():
73
 
    return unittest.TestSuite((
74
 
        unittest.makeSuite(TestPrincipalDirective),
75
 
        unittest.makeSuite(TestPermissionDirective),
76
 
        ))
77
 
 
78
 
if __name__ == '__main__':
79
 
    unittest.main()