def setUp(self): self.config = testing.setUp() from sqlalchemy import create_engine engine = create_engine('sqlite://') from xbus.monitor.models.monitor import ( BaseModel, MyModel, ) DBSession.configure(bind=engine)
def setUp(self): self.config = testing.setUp() from sqlalchemy import create_engine engine = create_engine('sqlite://') from xbus.monitor.models.monitor import ( BaseModel, MyModel, ) DBSession.configure(bind=engine) BaseModel.metadata.create_all(engine) with transaction.manager: model = MyModel(name='one', value=55) DBSession.add(model)
def main(global_config, **settings): """Initiate a Pyramid WSGI application. """ db_url = settings.get('fig.sqlalchemy.url') if db_url: pg_socket_var = os.getenv('XBUS_POSTGRESQL_1_PORT') if pg_socket_var is not None: pg_socket = pg_socket_var.split('://', 1)[-1] else: pg_socket = settings.get('fig.sqlalchemy.default.socket') settings['sqlalchemy.url'] = db_url.format(socket=pg_socket) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) config = Configurator( session_factory=session_factory_from_settings(settings), settings=settings, root_factory=RootFactory, ) config.include('pyramid_chameleon') # Determine the kind of auth to use based on settings; store it so others # can access the setting via "request.registry.settings.auth_kind"). config.add_settings(auth_kind=( 'saml2' if bool_setting(config.get_settings(), 'saml2.enabled') else 'http' )) if config.get_settings().auth_kind == 'http': http_auth.setup(config) config.include('pyramid_httpauth') elif config.get_settings().auth_kind == 'saml2': saml2_auth.setup(config) config.set_authorization_policy(ACLAuthorizationPolicy()) # All views are protected by default; to provide an anonymous view, use # permission=pyramid.security.NO_PERMISSION_REQUIRED. config.set_default_permission('view') init_i18n(config) config.add_static_view('static', 'static', cache_max_age=3600) # Pages. config.add_route('home', '/') config.add_route('xml_config_ui', '/xml_config') config.add_route( 'event_type_graph', API_PREFIX + 'event_type/{id}/graph', factory=RECORD_FACTORY_LOC.format( model='monitor', collection='event_type', ), ) # Other routes. config.add_route('login_info', 'login_info') # REST API exposed with JSON. _add_api_routes(config, 'data_clearing', 'cl_event_type') _add_api_routes(config, 'data_clearing', 'cl_item') _add_api_routes(config, 'data_clearing', 'cl_item_column') _add_api_routes(config, 'data_clearing', 'cl_item_join') _add_api_routes(config, 'data_clearing', 'cl_item_type') _add_api_routes(config, 'monitor', 'emission_profile') _add_api_routes(config, 'monitor', 'emitter') _add_api_routes(config, 'monitor', 'emitter_profile') _add_api_routes(config, 'monitor', 'envelope') _add_api_routes(config, 'monitor', 'event') _add_api_routes(config, 'monitor', 'event_error') _add_api_routes(config, 'monitor', 'event_error_tracking') _add_api_routes(config, 'monitor', 'event_node') _add_api_routes(config, 'monitor', 'event_tracking') _add_api_routes(config, 'monitor', 'event_type') _add_api_routes(config, 'monitor', 'input_descriptor') _add_api_routes(config, 'monitor', 'role') _add_api_routes(config, 'monitor', 'service') _add_api_routes(config, 'monitor', 'user') # Other parts of the API. config.add_route('consumer_list', API_PREFIX + 'consumer') config.add_route('replay_envelope', API_PREFIX + 'replay_envelope') config.add_route('upload', API_PREFIX + 'upload') config.add_route('xml_config', API_PREFIX + 'xml_config') # Process view declarations. config.scan() # Run! return config.make_wsgi_app()
def main(global_config, **settings): """Initiate a Pyramid WSGI application. """ db_url = settings.get('fig.sqlalchemy.url') if db_url: pg_socket_var = os.getenv('XBUS_POSTGRESQL_1_PORT') if pg_socket_var is not None: pg_socket = pg_socket_var.split('://', 1)[-1] else: pg_socket = settings.get('fig.sqlalchemy.default.socket') settings['sqlalchemy.url'] = db_url.format(socket=pg_socket) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) config = Configurator( session_factory=session_factory_from_settings(settings), settings=settings, root_factory=RootFactory, ) config.include('pyramid_chameleon') # Determine the kind of auth to use based on settings; store it so others # can access the setting via "request.registry.settings.auth_kind"). config.add_settings(auth_kind=('saml2' if bool_setting( config.get_settings(), 'saml2.enabled') else 'http')) if config.get_settings().auth_kind == 'http': http_auth.setup(config) config.include('pyramid_httpauth') elif config.get_settings().auth_kind == 'saml2': saml2_auth.setup(config) config.set_authorization_policy(ACLAuthorizationPolicy()) # All views are protected by default; to provide an anonymous view, use # permission=pyramid.security.NO_PERMISSION_REQUIRED. config.set_default_permission('view') init_i18n(config) config.add_static_view('static', 'static', cache_max_age=3600) # Pages. config.add_route('home', '/') config.add_route('xml_config_ui', '/xml_config') config.add_route( 'event_type_graph', API_PREFIX + 'event_type/{id}/graph', factory=RECORD_FACTORY_LOC.format( model='monitor', collection='event_type', ), ) # Other routes. config.add_route('login_info', 'login_info') # REST API exposed with JSON. _add_api_routes(config, 'data_clearing', 'cl_event_type') _add_api_routes(config, 'data_clearing', 'cl_item') _add_api_routes(config, 'data_clearing', 'cl_item_column') _add_api_routes(config, 'data_clearing', 'cl_item_join') _add_api_routes(config, 'data_clearing', 'cl_item_type') _add_api_routes(config, 'monitor', 'emission_profile') _add_api_routes(config, 'monitor', 'emitter') _add_api_routes(config, 'monitor', 'emitter_profile') _add_api_routes(config, 'monitor', 'envelope') _add_api_routes(config, 'monitor', 'event') _add_api_routes(config, 'monitor', 'event_error') _add_api_routes(config, 'monitor', 'event_error_tracking') _add_api_routes(config, 'monitor', 'event_node') _add_api_routes(config, 'monitor', 'event_tracking') _add_api_routes(config, 'monitor', 'event_type') _add_api_routes(config, 'monitor', 'input_descriptor') _add_api_routes(config, 'monitor', 'role') _add_api_routes(config, 'monitor', 'service') _add_api_routes(config, 'monitor', 'user') # Other parts of the API. config.add_route('consumer_list', API_PREFIX + 'consumer') config.add_route('replay_envelope', API_PREFIX + 'replay_envelope') config.add_route('upload', API_PREFIX + 'upload') config.add_route('xml_config', API_PREFIX + 'xml_config') # Process view declarations. config.scan() # Run! return config.make_wsgi_app()