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

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI12-security/trunk/python/Tests/GatekeeperTest.py@5907
Revision 4855, 2.6 KB checked in by pjkersha, 11 years ago (diff)
  • Got rid of additional refs to Q Public licence in headers
  • Added ndg.security.server.wsgi.openid.relyingparty package and started OpenIDRelyingPartyMiddleware wrapper to AuthKit?
  • fixed classfactory import bug
  • tested Attribute Authority over SSL with mod_wsgi with AA and SM client unit tests
  • 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) 2009 Science and Technology Facilities Council
11
12"""
13import unittest
14import os
15
16from ndg.security.Gatekeeper import *
17
18
19class GkResrcinterface(GatekeeperResrc):
20    """Gatekeeper interface test class"""
21   
22    def __init__(self, **kwargs):
23        self.__roleLUT = {'acsoe':          ('r', 'w'), 
24                          'government':     ('r',),
25                          'nextmap':        ('r', 'w', 'x')}
26   
27    def getPermissions(self, role):
28        """Serve dummy roles and permissions"""
29        try:
30            return self.__roleLUT[role]
31        except:
32            return ()
33       
34       
35class GatekeeperTestCase(unittest.TestCase):
36   
37    def setUp(self):
38        try:
39            self.gk = Gatekeeper(resrcID='somewhere',
40                                 resrcModFilePath='./GatekeeperTest.py',
41                                 resrcModName='GatekeeperTest',
42                                 resrcClassName='GkResrcinterface') 
43        except Exception, e:
44            self.fail(str(e))
45           
46           
47    def tearDown(self):
48        pass
49
50
51    def testGetPermissionsRoleInput(self):
52       
53        try:
54            print "Role Permissions: %s" % self.gk('acsoe')
55           
56        except Exception, e:
57            self.fail(str(e))
58
59
60    def testGetPermissionsRoleListInput(self):
61
62        import pdb
63        pdb.set_trace()
64        try:
65            self.gk.readProperties('gatekeeperProperties.xml')
66            self.gk.initResrcinterface()
67           
68            print "Role List Permissions: %s" % self.gk(['nextmap', 'synop'])
69           
70        except Exception, e:
71            self.fail(str(e))
72
73 
74    def testGetPermissionsAttCertInput(self):
75       
76        try:
77            ac = AttCertRead('./ac-y_i5fI.xml')
78            print "AC Permissions: %s" % self.gk.getPermissions(ac)
79           
80        except Exception, e:
81            self.fail(str(e))
82           
83#_____________________________________________________________________________       
84class GatekeeperTestSuite(unittest.TestSuite):
85   
86    def __init__(self):
87        logTestMap = map(GatekeeperTestCase,
88                  (
89                    "testGetPermissionsRoleInput",
90                    "testGetPermissionsRoleListInput",
91                    "testGetPermissionsAttCertInput"
92                  ))
93        unittest.TestSuite.__init__(self, logTestMap)
94           
95                                                   
96if __name__ == "__main__":
97    unittest.main()       
Note: See TracBrowser for help on using the repository browser.