def init(): #config_uri = 'development.ini' #setup_logging(config_uri) #settings = get_appsettings(config_uri) #engine = engine_from_config('sqlite://') engine = engine_from_config({'sqlalchemy.url': 'sqlite://'}) DBSession.configure(bind=engine) Base.metadata.create_all(engine)
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_mailer.testing') try: DBSession.close() DBSession.remove() #print("removed old DBSession ===================================") except: #print("no DBSession to remove ==================================") pass #try: # os.remove('test_webtest_functional.db') # #print "deleted old test database" #except: # pass # #print "never mind" my_settings = { #'sqlalchemy.url': 'sqlite:///test_webtest_functional.db', 'sqlalchemy.url': 'sqlite:///:memory:', 'available_languages': 'da de en es fr', 'c3smembership.mailaddr': '*****@*****.**'} engine = engine_from_config(my_settings) DBSession.configure(bind=engine) self.session = DBSession # () Base.metadata.create_all(engine) # dummy database entries for testing with transaction.manager: member1 = C3sMember( # german firstname=u'SomeFirstnäme', lastname=u'SomeLastnäme', email=u'*****@*****.**', address1=u"addr one", address2=u"addr two", postcode=u"12345", city=u"Footown Mäh", country=u"Foocountry", locale=u"DE", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u'ABCDEFGFOO', password=u'arandompassword', date_of_submission=date.today(), membership_type=u'normal', member_of_colsoc=True, name_of_colsoc=u"GEMA", num_shares=u'23', ) DBSession.add(member1) DBSession.flush() from c3smembership import main app = main({}, **my_settings) from webtest import TestApp self.testapp = TestApp(app)
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_mailer.testing') try: DBSession.close() DBSession.remove() #print "closed and removed DBSession" except: pass #print "no session to close" #try: # os.remove('test_webtest_accountants.db') # #print "deleted old test database" #except: # pass # #print "never mind" # self.session = DBSession() my_settings = { #'sqlalchemy.url': 'sqlite:///test_webtest_accountants.db', 'sqlalchemy.url': 'sqlite:///:memory:', 'available_languages': 'da de en es fr', 'c3smembership.dashboard_number': '30'} engine = engine_from_config(my_settings) DBSession.configure(bind=engine) Base.metadata.create_all(engine) self._insert_members() with transaction.manager: # a group for accountants/staff accountants_group = Group(name=u"staff") try: DBSession.add(accountants_group) DBSession.flush() #print("adding group staff") except: print("could not add group staff.") # pass # staff personnel staffer1 = C3sStaff( login=u"rut", password=u"berries", email=u"*****@*****.**", ) staffer1.groups = [accountants_group] try: DBSession.add(accountants_group) DBSession.add(staffer1) DBSession.flush() except: print("it borked! (rut)") # pass from c3smembership import main app = main({}, **my_settings) from webtest import TestApp self.testapp = TestApp(app)
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') session_factory = session_factory_from_settings(settings) authn_policy = AuthTktAuthenticationPolicy( 's0secret!!', callback=groupfinder,) authz_policy = ACLAuthorizationPolicy() DBSession.configure(bind=engine) Base.metadata.bind = engine config = Configurator(settings=settings, authentication_policy=authn_policy, authorization_policy=authz_policy, session_factory=session_factory, root_factory=Root) # using a custom request with user information config.set_request_factory(RequestWithUserAttribute) config.include('pyramid_mailer') config.add_translation_dirs( 'colander:locale/', 'deform:locale/', 'c3smembership:locale/') config.add_static_view('static', 'c3smembership:static', cache_max_age=3600) config.add_subscriber('c3smembership.subscribers.add_base_template', 'pyramid.events.BeforeRender') config.add_subscriber('c3smembership.subscribers.add_locale_to_cookie', 'pyramid.events.NewRequest') # home is /, the membership application form config.add_route('join', '/') # info pages config.add_route('disclaimer', '/disclaimer') config.add_route('faq', '/faq') config.add_route('statute', '/statute') config.add_route('manifesto', '/manifesto') # success and further steps config.add_route('success', '/success') config.add_route('success_check_email', '/check_email') config.add_route('verify_email_password', '/verify/{email}/{code}') config.add_route('success_pdf', '/C3S_SCE_AFM_{namepart}.pdf') # routes & views for staff config.add_route('dashboard', '/dashboard/{number}') config.add_route('detail', '/detail/{memberid}') config.add_route('switch_sig', '/switch_sig/{memberid}') config.add_route('switch_pay', '/switch_pay/{memberid}') config.add_route('delete_entry', '/delete/{memberid}') config.add_route('login', '/login') config.add_route('logout', '/logout') config.scan() return config.make_wsgi_app()
def _initTestingDB(): #from sqlalchemy import create_engine #from c3smembership.models import initialize_sql #session = initialize_sql(create_engine('sqlite:///memory')) #session = DBSession my_settings = { 'sqlalchemy.url': 'sqlite:///:memory:', } engine = engine_from_config(my_settings) DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: member1 = C3sMember( # german firstname=u'SomeFirstnäme', lastname=u'SomeLastnäme', email=u'*****@*****.**', address1=u"addr one", address2=u"addr two", postcode=u"12345", city=u"Footown Mäh", country=u"Foocountry", locale=u"DE", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u'ABCDEFGFOO', password=u'arandompassword', date_of_submission=date.today(), membership_type=u'normal', member_of_colsoc=True, name_of_colsoc=u"GEMA", num_shares=u'23', ) member2 = C3sMember( # german firstname=u'AAASomeFirstnäme', lastname=u'XXXSomeLastnäme', email=u'*****@*****.**', address1=u"addr one", address2=u"addr two", postcode=u"12345", city=u"Footown Mäh", country=u"Foocountry", locale=u"DE", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u'ABCDEFGBAR', password=u'arandompassword', date_of_submission=date.today(), membership_type=u'normal', member_of_colsoc=True, name_of_colsoc=u"GEMA", num_shares=u'23', ) DBSession.add(member1) DBSession.add(member2) return DBSession
def _initTestingDB(): from sqlalchemy import create_engine from c3smembership.models import DBSession from c3smembership.models import Base from c3smembership.models import initialize_sql engine = create_engine('sqlite:///:memory:') #session = initialize_sql(create_engine('sqlite:///:memory:')) DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) return DBSession
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_mailer.testing') try: DBSession.remove() #print("removing old DBSession ===================================") except: #print("no DBSession to remove ===================================") pass engine = create_engine('sqlite:///test_models.db') self.session = DBSession DBSession.configure(bind=engine) # XXX does influence self.session!?! Base.metadata.create_all(engine)
def setUp(self): """ set up everything for a test case """ self.config = testing.setUp() self.config.include('pyramid_mailer.testing') try: DBSession.close() DBSession.remove() #print("removing old DBSession ===================================") except: #print("no DBSession to remove ===================================") pass from sqlalchemy import create_engine #engine = create_engine('sqlite:///test_utils.db') engine = create_engine('sqlite:///:memory:') DBSession.configure(bind=engine) self.session = DBSession # () Base.metadata.create_all(engine) with transaction.manager: member1 = C3sMember( # german firstname=u'SomeFirstnäme', lastname=u'SomeLastnäme', email=u'*****@*****.**', address1=u"addr one", address2=u"addr two", postcode=u"12345", city=u"Footown Mäh", country=u"Foocountry", locale=u"DE", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u'ABCDEFGBAR', password=u'arandompassword', date_of_submission=date.today(), membership_type=u'normal', member_of_colsoc=True, name_of_colsoc=u"GEMA", num_shares=u'23', ) DBSession.add(member1) DBSession.flush()
def main(argv=sys.argv): """ initialize the database """ if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine) # add some content with transaction.manager: # a group for accountants/staff accountants_group = Group(name=u"staff") try: DBSession.add(accountants_group) DBSession.flush() #print("adding group staff") except: print("could not add group staff.") # pass with transaction.manager: # staff personnel staffer1 = C3sStaff( login=u"rut", password=u"berries", email=u"*****@*****.**", ) staffer1.groups = [accountants_group] try: DBSession.add(staffer1) #print("adding staff rut") DBSession.flush() except: print("it borked! (rut)") # pass # one more staffer with transaction.manager: staffer2 = C3sStaff( login=u"reel", password=u"boo", email=u"*****@*****.**", ) staffer2.groups = [accountants_group] try: DBSession.add(staffer2) #print("adding staff reel") DBSession.flush() except: print("it borked! (reel)") # pass # a member, actually a membership form submission with transaction.manager: member1 = C3sMember( firstname=u"Firstnäme", # includes umlaut lastname=u"Lastname", email=u"*****@*****.**", password=u"berries", address1=u"address one", address2=u"address two", postcode=u"12345 foo", city=u"Footown Mäh", country=u"Foocountry", locale=u"en", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u"ABCDEFGHIJ", num_shares=u'10', date_of_submission=datetime.now(), membership_type=u'normal', member_of_colsoc=True, name_of_colsoc=u"GEMA", ) try: DBSession.add(member1) #print("adding Firstnäme") except: pass # even more members import random import string print("about to add %s members..." % how_many) with transaction.manager: for i in range(how_many): # create 50 members with semi-random dates #print i member = C3sMember( firstname=u"Firstnäme%s" % i, # includes umlaut lastname=u"Lastname", email=u"*****@*****.**", password=u"berries", address1=u"address one", address2=u"address two", postcode=u"12345 foo", city=u"Footown Mäh", country=u"Foocountry", locale=u"de", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u''.join( random.choice( string.ascii_uppercase + string.digits ) for x in range(8)), num_shares=random.randint(1, 60), date_of_submission=datetime.now(), membership_type=random.choice((u'normal', u'investing')), member_of_colsoc=random.choice((True, False)), name_of_colsoc=u"GEMA", ) try: DBSession.add(member) except IntegrityError: print("exception!!!!!!!!!!!!!!!!!!!!1")
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_mailer.testing') try: DBSession.close() DBSession.remove() #print "closed and removed DBSession" except: pass #print "no session to close" #try: # os.remove('test_import.db') # #print "deleted old test database" #except: # pass # #print "never mind" # self.session = DBSession() my_settings = { #'sqlalchemy.url': 'sqlite:///test_import.db', 'sqlalchemy.url': 'sqlite:///:memory:', 'available_languages': 'da de en es fr', 'c3smembership.dashboard_number': '30'} engine = engine_from_config(my_settings) DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: member1 = C3sMember( # german firstname=u'SomeFirstnäme', lastname=u'SomeLastnäme', email=u'*****@*****.**', address1=u"addr one", address2=u"addr two", postcode=u"12345", city=u"Footown Mäh", country=u"Foocountry", locale=u"DE", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u'ABCDEFGFOO', password=u'arandompassword', date_of_submission=date.today(), membership_type=u'normal', member_of_colsoc=True, name_of_colsoc=u"GEMA", num_shares=u'23', ) DBSession.add(member1) DBSession.flush() self.m1_last_pw_change = member1.last_password_change with transaction.manager: # a group for accountants/staff accountants_group = Group(name=u"staff") try: DBSession.add(accountants_group) DBSession.flush() #print("adding group staff") except: #print("could not add group staff.") pass # staff personnel staffer1 = C3sStaff( login=u"rut", password=u"berries", email=u"*****@*****.**", ) staffer1.groups = [accountants_group] try: DBSession.add(accountants_group) DBSession.add(staffer1) DBSession.flush() except: #print("it borked! (rut)") pass from c3smembership import main app = main({}, **my_settings) from webtest import TestApp self.testapp = TestApp(app)
def main(argv=sys.argv): """ initialize the database """ if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine) # add some content with transaction.manager: # a group for accountants/staff accountants_group = Group(name=u"staff") try: DBSession.add(accountants_group) DBSession.flush() print("adding group staff") except: print("could not add group staff.") # pass with transaction.manager: # staff personnel staffer1 = C3sStaff( login=u"rut", password=u"berries", email=u"*****@*****.**", ) staffer1.groups = [accountants_group] try: DBSession.add(staffer1) print("adding staff rut") DBSession.flush() except: print("it borked! (rut)") # pass # one more staffer with transaction.manager: staffer2 = C3sStaff( login=u"reel", password=u"boo", email=u"*****@*****.**", ) staffer2.groups = [accountants_group] try: DBSession.add(staffer2) print("adding staff reel") DBSession.flush() except: print("it borked! (reel)") # pass # a member, actually a membership form submission with transaction.manager: member1 = C3sMember( firstname=u"Firstnäme", # includes umlaut lastname=u"Lastname", email=u"*****@*****.**", password=u"berries", address1=u"address one", address2=u"address two", postcode=u"12345 foo", city=u"Footown Mäh", country=u"Foocountry", locale=u"DE", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u"ABCDEFGHIJ", num_shares=u'10', date_of_submission=datetime.now(), membership_type=u'normal', member_of_colsoc=True, name_of_colsoc=u"GEMA", ) try: DBSession.add(member1) print("adding Firstnäme") except: pass # even more members import random import string print("about to add %s members..." % how_many) with transaction.manager: for i in range(how_many): # create 50 members with semi-random dates #print i member = C3sMember( firstname=u"Firstnäme%s" % i, # includes umlaut lastname=u"Lastname", email=u"*****@*****.**", password=u"berries", address1=u"address one", address2=u"address two", postcode=u"12345 foo", city=u"Footown Mäh", country=u"Foocountry", locale=u"DE", date_of_birth=date.today(), email_is_confirmed=False, email_confirm_code=u''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(8)), num_shares=random.randint(1, 60), date_of_submission=datetime.now(), membership_type=random.choice((u'normal', u'investing')), member_of_colsoc=random.choice((True, False)), name_of_colsoc=u"GEMA", ) try: DBSession.add(member) except IntegrityError: print("exception!!!!!!!!!!!!!!!!!!!!1")