source: TI12-security/trunk/python/Tests/GatekeeperTest.py @ 2909

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI12-security/trunk/python/Tests/GatekeeperTest.py@2909
Revision 2909, 2.6 KB checked in by pjkersha, 13 years ago (diff)

Updated for epydoc: added double underscore vars module info

  • Property svn:executable set to *
Line 
1#!/usr/bin/env python
2
3"""Test harness for NDG Gatekeeper
4
5NERC Data Grid Project
6
7P J Kershaw 15/05/06
8
9
10Copyright (C) 2006 STFC & NERC
11
12This software may be distributed under the terms of the Q Public License,
13version 1.0 or later.
14"""
15import unittest
16import os
17
18from ndg.security.Gatekeeper import *
19
20
21class GkResrcinterface(GatekeeperResrc):
22    """Gatekeeper interface test class"""
23   
24    def __init__(self, **kwargs):
25        self.__roleLUT = {'acsoe':          ('r', 'w'), 
26                          'government':     ('r',),
27                          'nextmap':        ('r', 'w', 'x')}
28   
29    def getPermissions(self, role):
30        """Serve dummy roles and permissions"""
31        try:
32            return self.__roleLUT[role]
33        except:
34            return ()
35       
36       
37class GatekeeperTestCase(unittest.TestCase):
38   
39    def setUp(self):
40        try:
41            self.gk = Gatekeeper(resrcID='somewhere',
42                                 resrcModFilePath='./GatekeeperTest.py',
43                                 resrcModName='GatekeeperTest',
44                                 resrcClassName='GkResrcinterface') 
45        except Exception, e:
46            self.fail(str(e))
47           
48           
49    def tearDown(self):
50        pass
51
52
53    def testGetPermissionsRoleInput(self):
54       
55        try:
56            print "Role Permissions: %s" % self.gk('acsoe')
57           
58        except Exception, e:
59            self.fail(str(e))
60
61
62    def testGetPermissionsRoleListInput(self):
63
64        import pdb
65        pdb.set_trace()
66        try:
67            self.gk.readProperties('gatekeeperProperties.xml')
68            self.gk.initResrcinterface()
69           
70            print "Role List Permissions: %s" % self.gk(['nextmap', 'synop'])
71           
72        except Exception, e:
73            self.fail(str(e))
74
75 
76    def testGetPermissionsAttCertInput(self):
77       
78        try:
79            ac = AttCertRead('./ac-y_i5fI.xml')
80            print "AC Permissions: %s" % self.gk.getPermissions(ac)
81           
82        except Exception, e:
83            self.fail(str(e))
84           
85#_____________________________________________________________________________       
86class GatekeeperTestSuite(unittest.TestSuite):
87   
88    def __init__(self):
89        logTestMap = map(GatekeeperTestCase,
90                  (
91                    "testGetPermissionsRoleInput",
92                    "testGetPermissionsRoleListInput",
93                    "testGetPermissionsAttCertInput"
94                  ))
95        unittest.TestSuite.__init__(self, logTestMap)
96           
97                                                   
98if __name__ == "__main__":
99    unittest.main()       
Note: See TracBrowser for help on using the repository browser.