def configure_app(using, create_form=True): # Simulate starting configuration process from scratch milestones._reset_all() app_cfg = AppConfig(minimal=True) app_cfg.renderers = ['kajiki'] app_cfg.default_renderer = 'kajiki' app_cfg.use_dotted_templatenames = True app_cfg.package = FakeAppPackage() app_cfg.use_toscawidgets2 = True app_cfg['tw2.enabled'] = True app_cfg.sa_auth.authmetadata = TestAuthMetadata() app_cfg['beaker.session.secret'] = app_cfg['session.secret'] = 'SECRET' app_cfg['mail.debugmailer'] = 'dummy' if using == 'sqlalchemy': app_cfg.auth_backend = 'sqlalchemy' app_cfg.package.model = FakeSQLAModel() app_cfg.use_sqlalchemy = True app_cfg['sqlalchemy.url'] = 'sqlite://' app_cfg.use_transaction_manager = True app_cfg['tm.enabled'] = True elif using == 'ming': app_cfg.auth_backend = 'ming' app_cfg.package.model = FakeMingModel() app_cfg.use_ming = True app_cfg['ming.url'] = 'mim:///testresetpassword' else: raise ValueError('Unsupported backend') # Reset the Sprox provider on every change of configuration. from resetpassword import model as resetpassword_model resetpassword_model.provider._provider = None app_cfg.model = app_cfg.package.model app_cfg.DBSession = app_cfg.package.model.DBSession # CUSTOM resetpassword options app_cfg['resetpassword.email_sender'] = '*****@*****.**' plug(app_cfg, 'tgext.mailer', plug_bootstrap=True, debugmailer='dummy') plug( app_cfg, 'resetpassword', plug_bootstrap=False, reset_password_form_instance=resetpassword_form if create_form else None, new_password_form_instance=newpassword_form if create_form else None, ) return app_cfg
def configure_app(using): # Simulate starting configuration process from scratch milestones._reset_all() app_cfg = AppConfig(minimal=True) app_cfg.renderers = ['kajiki'] app_cfg.default_renderer = 'kajiki' app_cfg.use_dotted_templatenames = True app_cfg.package = FakeAppPackage() app_cfg.use_toscawidgets2 = True app_cfg['tw2.enabled'] = True app_cfg.sa_auth.authmetadata = TestAuthMetadata() app_cfg['beaker.session.secret'] = app_cfg['session.secret'] = 'SECRET' app_cfg.auth_backend = 'ming' app_cfg['mail.debugmailer'] = "dummy" if using == 'sqlalchemy': app_cfg.package.model = FakeSQLAModel() app_cfg.use_sqlalchemy = True app_cfg['sqlalchemy.url'] = 'sqlite://' app_cfg.use_transaction_manager = True app_cfg['tm.enabled'] = True app_cfg.SQLASession = app_cfg.package.model.DBSession elif using == 'ming': app_cfg.package.model = FakeMingModel() app_cfg.use_ming = True app_cfg['ming.url'] = 'mim:///mailtemapltes' app_cfg.MingSession = app_cfg.package.model.DBSession else: raise ValueError('Unsupported backend') app_cfg.model = app_cfg.package.model app_cfg.DBSession = app_cfg.package.model.DBSession # Guarantee that the same form is used between multiple # configurations of TGApps. Otherwise the validated # form would be different from the displayed one. plug(app_cfg, 'tgext.mailer', plug_bootstrap=True, debugmailer='dummy') plug(app_cfg, 'tgext.asyncjob', plug_bootstrap=True, app_globals=app_cfg['app_globals']) # it is important that tgext.mailer and tgext.asyncjob are plugged # before mailtemplates or not plugged at all as mailtemplates plugs them plug(app_cfg, 'mailtemplates', plug_bootstrap=True, default_language='EN') return app_cfg
def setUp(self): self.root_controller = self.controller_factory() conf = AppConfig(minimal=True, root_controller=self.root_controller) conf.package = FakePackage() conf.model = conf.package.model conf.use_dotted_templatenames = True conf.renderers = ['json', 'jinja', 'mako'] conf.default_renderer = 'jinja' conf.use_sqlalchemy = True conf.paths = {'controllers': 'tests', 'templates': ['tests']} conf.disable_request_extensions = False conf.prefer_toscawidgets2 = True conf.use_transaction_manager = True conf['sqlalchemy.url'] = 'sqlite:///:memory:' self.app = TestApp(conf.make_wsgi_app()) metadata.create_all()
def setUp(self): self.root_controller = self.controller_factory() conf = AppConfig(minimal=True, root_controller=self.root_controller) conf.package = FakePackage() conf.model = conf.package.model conf.use_dotted_templatenames = True conf.renderers = ['json', 'jinja', 'mako'] conf.default_renderer = 'jinja' conf.use_sqlalchemy = True conf.paths = {'controllers':'tests', 'templates':['tests']} conf.disable_request_extensions = False conf.prefer_toscawidgets2 = True conf.use_transaction_manager = True conf['sqlalchemy.url'] = 'sqlite:///:memory:' self.app = TestApp(conf.make_wsgi_app()) metadata.create_all()
def configure_app(using): # Simulate starting configuration process from scratch milestones._reset_all() app_cfg = AppConfig(minimal=True) app_cfg.renderers = ['kajiki'] app_cfg.default_renderer = 'kajiki' app_cfg.use_dotted_templatenames = True app_cfg.package = FakeAppPackage() app_cfg.use_toscawidgets2 = True app_cfg['beaker.session.secret'] = app_cfg['session.secret'] = 'SECRET' app_cfg['mail.debugmailer'] = "dummy" if using == 'sqlalchemy': app_cfg.auth_backend = 'sqlalchemy' app_cfg.package.model = FakeSQLAModel() app_cfg.use_sqlalchemy = True app_cfg['sqlalchemy.url'] = 'sqlite://' app_cfg.use_transaction_manager = True app_cfg.SQLASession = app_cfg.package.model.DBSession elif using == 'ming': app_cfg.auth_backend = 'ming' app_cfg.package.model = FakeMingModel() app_cfg.use_ming = True app_cfg['ming.url'] = 'mim:///userprofile' app_cfg.MingSession = app_cfg.package.model.DBSession else: raise ValueError('Unsupported backend') app_cfg.model = app_cfg.package.model app_cfg.DBSession = app_cfg.package.model.DBSession app_cfg.sa_auth.authmetadata = TestAuthMetadata() # Guarantee that the same form is used between multiple # configurations of TGApps. Otherwise the validated # form would be different from the displayed one. app_cfg['userprofile.email_sender'] = '[email protected]' plug(app_cfg, 'userprofile', plug_bootstrap=True) return app_cfg
base_config.package = trine #Enable json in expose base_config.renderers.append('json') #Enable genshi in expose to have a lingua franca for extensions and pluggable apps #you can remove this if you don't plan to use it. base_config.renderers.append('genshi') #Set the default renderer base_config.default_renderer = 'jinja' base_config.renderers.append('jinja') base_config.jinja_extensions = ['jinja2.ext.with_'] #Configure the base SQLALchemy Setup base_config.use_sqlalchemy = True base_config.model = trine.model base_config.DBSession = trine.model.DBSession # Configure the authentication backend # YOU MUST CHANGE THIS VALUE IN PRODUCTION TO SECURE YOUR APP base_config.sa_auth.cookie_secret = "c70561d4-5099-4e75-a140-18ed32907db3" base_config.auth_backend = 'sqlalchemy' # what is the class you want to use to search for users in the database base_config.sa_auth.user_class = model.User from tg.configuration.auth import TGAuthMetadata #This tells to TurboGears how to retrieve the data for your user class ApplicationAuthMetadata(TGAuthMetadata):