Ignore:
Timestamp:
07/06/10 15:11:20 (9 years ago)
Author:
pjkersha
Message:

Incomplete - task 5: MyProxy? Logon HTTPS Interface

  • Working myproxy-ws-get-trustroots.sh http client shell script.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/MyProxyWebService/myproxy/server/test/test_myproxywsgi.py

    r6938 r6943  
    3131    def __call__(self, environ, start_response): 
    3232         
    33         assert(environ[MyProxyClientMiddleware.CLIENT_ENV_KEYNAME]) 
    34         assert(environ[MyProxyClientMiddleware.LOGON_FUNC_ENV_KEYNAME]) 
     33        assert(environ[MyProxyClientMiddleware.DEFAULT_CLIENT_ENV_KEYNAME]) 
     34        assert(environ[MyProxyClientMiddleware.DEFAULT_LOGON_FUNC_ENV_KEYNAME]) 
    3535        status = "200 OK" 
    3636                 
     
    9797    def test01Logon(self): 
    9898        # Test successful logon 
    99         username = self.cfg.get('test01Logon', 'username') 
     99        username = self.cfg.get('MyProxyLogonAppTestCase.test01Logon',  
     100                                'username') 
    100101        try:  
    101             password = self.cfg.get('test01Logon', 'password') 
     102            password = self.cfg.get('MyProxyLogonAppTestCase.test01Logon',  
     103                                    'password') 
    102104        except NoOptionError: 
    103             password = getpass('test01Logon password: ') 
     105            password = getpass('MyProxyLogonAppTestCase.test01Logon password: ') 
    104106             
    105107        base64String = base64.encodestring('%s:%s' % (username, password))[:-1] 
     
    109111        # Create key pair and certificate request 
    110112        keyPair, certReq = self._createRequestCreds() 
    111         response = self.app.post('/logon', certReq, headers=headers, status=200) 
     113         
     114        postData = { 
     115            MyProxyClientMiddleware.CERT_REQ_POST_PARAM_KEYNAME: certReq 
     116        } 
     117        response = self.app.post('/logon', postData, headers=headers,  
     118                                 status=200) 
    112119        print response  
    113120        self.assert_(response) 
     
    126133        # Test with missing certificate request 
    127134         
    128         username = self.cfg.get('test01Logon', 'username') 
    129         try:  
    130             password = self.cfg.get('test01Logon', 'password') 
    131         except NoOptionError: 
    132             password = getpass('test01Logon password: ') 
    133              
     135        # Username and password don't matter - exception is raised in server 
     136        # middleware prior to authentication 
     137        username = '' 
     138        password = '' 
     139                     
    134140        base64String = base64.encodestring('%s:%s' % (username, password))[:-1] 
    135141        authHeader =  "Basic %s" % base64String 
     
    144150        # Test HTTP GET request - should be rejected - POST is expected 
    145151         
    146         username = self.cfg.get('test01Logon', 'username') 
    147         try:  
    148             password = self.cfg.get('test01Logon', 'password') 
    149         except NoOptionError: 
    150             password = getpass('test01Logon password: ') 
    151              
     152        # Username and password don't matter - exception is raised in server 
     153        # middleware prior to authentication 
     154        username = '' 
     155        password = '' 
    152156        base64String = base64.encodestring('%s:%s' % (username, password))[:-1] 
    153157        authHeader =  "Basic %s" % base64String 
     
    166170        self.assert_(response)          
    167171        print response  
     172         
     173        # Test deserialisation 
     174        for line in response.body.split('\n'): 
     175            fieldName, val = line.split('=', 1) 
     176            print("%s: %s\n" % (fieldName, base64.b64decode(val))) 
    168177 
    169178if __name__ == "__main__": 
Note: See TracChangeset for help on using the changeset viewer.