Ignore:
Timestamp:
30/11/10 22:26:05 (10 years ago)
Author:
pjkersha
Message:

Incomplete - task 16: NDG Security 2.x.x - incl. updated Paster templates

Location:
TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/integration/openidprovider
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/integration/openidprovider

    • Property svn:ignore set to
      authn
      openidrelyingparty
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/integration/openidprovider/securityservicesapp.py

    r7077 r7756  
    11#!/usr/bin/env python 
    2 """NDG Security test harness for securing an application with OpenID middleware 
     2"""NDG Security test harness for security web services middleware stack 
    33 
    44NERC DataGrid Project 
     
    66""" 
    77__author__ = "P J Kershaw" 
    8 __date__ = "26/02/09" 
     8__date__ = "20/11/08" 
    99__copyright__ = "(C) 2009 Science and Technology Facilities Council" 
    10 __license__ = "BSD - See top-level directory for LICENSE file." 
    1110__contact__ = "Philip.Kershaw@stfc.ac.uk" 
    1211__revision__ = "$Id$" 
    1312import os 
    1413from os.path import dirname, abspath, join 
     14       
     15from OpenSSL import SSL 
     16 
     17from ndg.security.test.unit import BaseTestCase, TEST_CONFIG_DIR 
     18from ndg.security.test.unit.wsgi import PasteDeployAppServer 
     19 
     20INI_FILEPATH = 'securityservices.ini' 
     21 
     22os.environ['NDGSEC_INTEGRATION_TEST_DIR'] = os.path.dirname(os.path.dirname( 
     23                                                                    __file__)) 
     24os.environ[BaseTestCase.configDirEnvVarName] = TEST_CONFIG_DIR 
     25 
     26import optparse 
     27 
     28# To start run  
     29# $ paster serve services.ini or run this file as a script, see 
     30# $ ./securityservicesapp.py -h 
     31if __name__ == '__main__':     
     32    cfgFileName = INI_FILEPATH 
     33    cfgFilePath = os.path.join(dirname(abspath(__file__)), cfgFileName)   
     34         
     35    parser = optparse.OptionParser() 
     36    parser.add_option("-p", 
     37                      "--port", 
     38                      dest="port", 
     39                      default=7443, 
     40                      type='int', 
     41                      help="port number to run under") 
     42 
     43    parser.add_option("-s", 
     44                      "--with-ssl", 
     45                      dest="withSSL", 
     46                      default='True', 
     47                      help="Run with SSL") 
     48 
     49    parser.add_option("-c", 
     50                      "--conf", 
     51                      dest="configFilePath", 
     52                      default=cfgFilePath, 
     53                      help="Configuration file path") 
    1554     
    16 # To start run  
    17 # $ paster serve securityservices.ini or run this file as a script 
    18 # $ ./securityservicesapp.py [port #] 
    19 if __name__ == '__main__': 
    20     import sys 
    21     import logging 
    22     logging.basicConfig(level=logging.DEBUG) 
     55    # Initialise test user database 
     56    from ndg.security.test.unit import BaseTestCase 
     57    BaseTestCase.initDb() 
     58     
     59    opt = parser.parse_args()[0] 
     60     
     61    if opt.withSSL.lower() == 'true': 
     62        certFilePath = os.path.join(BaseTestCase.NDGSEC_TEST_CONFIG_DIR,  
     63                                    'pki',  
     64                                    'localhost.crt') 
     65        priKeyFilePath = os.path.join(BaseTestCase.NDGSEC_TEST_CONFIG_DIR,  
     66                                      'pki',  
     67                                      'localhost.key') 
     68         
     69        ssl_context = SSL.Context(SSL.SSLv23_METHOD) 
     70        ssl_context.set_options(SSL.OP_NO_SSLv2) 
     71     
     72        ssl_context.use_privatekey_file(priKeyFilePath) 
     73        ssl_context.use_certificate_file(certFilePath) 
     74    else: 
     75        ssl_context = None 
    2376 
    24     if len(sys.argv) > 1: 
    25         port = int(sys.argv[1]) 
    26     else: 
    27         port = 9443 
    28          
    29     cfgFilePath = os.path.join(dirname(abspath(__file__)),  
    30                                'securityservices.ini') 
    31          
    32     from paste.httpserver import serve 
    33     from paste.deploy import loadapp 
    34     from paste.script.util.logging_config import fileConfig 
    35      
    36     fileConfig(cfgFilePath) 
    37     app = loadapp('config:%s' % cfgFilePath) 
    38     serve(app, host='0.0.0.0', port=port) 
     77    server = PasteDeployAppServer(cfgFilePath=opt.configFilePath,  
     78                                  port=opt.port, 
     79                                  ssl_context=ssl_context)  
     80    server.start() 
Note: See TracChangeset for help on using the changeset viewer.