def create_election_day(request, canton='', municipality='', use_maps='false'): tmp = request.getfixturevalue('temporary_directory') app = create_app(ElectionDayApp, request, use_smtp=True) app.configuration['sms_directory'] = os.path.join(tmp, 'sms') app.configuration['d3_renderer'] = 'http://localhost:1337' app.session_manager.set_locale('de_CH', 'de_CH') app.filestorage.settext('principal.yml', textwrap.dedent(""" name: Kanton Govikon logo: logo.jpg {} use_maps: {} color: '#000' wabsti_import: true """.format( ( 'canton: {}'.format(canton) if canton else 'municipality: {}'.format(municipality) ), use_maps ))) app.session().add(User( username='******', password_hash=request.getfixturevalue('election_day_password'), role='admin' )) transaction.commit() return app
def create_winterthur_app(request, use_elasticsearch): app = create_app(app_class=WinterthurApp, request=request, use_elasticsearch=use_elasticsearch) session = app.session() org = create_new_organisation(app, name="Winterthur") org.meta['reply_to'] = '*****@*****.**' org.meta['locales'] = 'de_CH' # usually we don't want to create the users directly, anywhere else you # *need* to go through the UserCollection. Here however, we can improve # the test speed by not hashing the password for every test. test_password = request.getfixturevalue('test_password') session.add( User(username='******', password_hash=test_password, role='admin')) session.add( User(username='******', password_hash=test_password, role='editor')) transaction.commit() session.close_all() return app
def create_swissvotes_app(request, temporary_path): app = create_app( SwissvotesApp, request, use_smtp=True, depot_backend='depot.io.local.LocalFileStorage', depot_storage_path=str(temporary_path), ) app.session_manager.set_locale('de_CH', 'de_CH') session = app.session() session.add( User(username='******', password_hash=request.getfixturevalue('swissvotes_password'), role='admin')) session.add( User(realname='Publisher', username='******', password_hash=request.getfixturevalue('swissvotes_password'), role='editor')) session.add( User(realname='Editor', username='******', password_hash=request.getfixturevalue('swissvotes_password'), role='member')) commit() return app
def test_initial_content(request): app = create_app(AgencyApp, request, use_smtp=False) org = create_new_organisation(app, "Test", 'de_CH') assert org.locales == 'de_CH' assert org.name == "Test" assert ''.join([ line.strip() for line in org.homepage_structure.splitlines() ]) == ''.join([line.strip() for line in homepage_structure.splitlines()])
def create_gazette(request, temporary_path): app = create_app( GazetteApp, request, use_smtp=True, depot_backend='depot.io.local.LocalFileStorage', depot_storage_path=str(temporary_path), ) app.session_manager.set_locale('de_CH', 'de_CH') app.filestorage.settext('principal.yml', dedent(PRINCIPAL)) app.filestorage.settext('govikon-pdf.svg', LOGO) group_id = uuid4() session = app.session() session.add(UserGroup(name='TestGroup', id=group_id)) session.add( User(username='******', password_hash=request.getfixturevalue('gazette_password'), role='admin', phone_number='+41415112250')) session.add( User(realname='Publisher', username='******', password_hash=request.getfixturevalue('gazette_password'), role='editor', phone_number='+41415112260')) session.add( User(realname='First Editor', username='******', password_hash=request.getfixturevalue('gazette_password'), role='member', group_id=group_id, phone_number='+41415112271')) session.add( User(realname='Second Editor', username='******', password_hash=request.getfixturevalue('gazette_password'), role='member', group_id=group_id, phone_number='+41415112272')) session.add( User(realname='Third Editor', username='******', password_hash=request.getfixturevalue('gazette_password'), role='member', phone_number='+41415112273')) create_organizations(session) create_categories(session) create_issues(session) commit() return app
def create_wtfs_app(request, temporary_path): app = create_app( WtfsApp, request, use_smtp=True, depot_backend='depot.io.local.LocalFileStorage', depot_storage_path=str(temporary_path), ) app.session_manager.set_locale('de_CH', 'de_CH') session = app.session() group_id = uuid4() session.add(PaymentType(name='normal', _price_per_quantity=700)) session.add(PaymentType(name='spezial', _price_per_quantity=850)) session.add(Municipality( id=group_id, name='My Municipality', bfs_number=1, payment_type='normal' )) session.add(User( realname='Admin', username='******', password_hash=request.getfixturevalue('wtfs_password'), role='admin' )) session.add(User( realname='Editor', username='******', password_hash=request.getfixturevalue('wtfs_password'), role='editor', group_id=group_id, data={'contact': True} )) session.add(User( realname='Member', username='******', password_hash=request.getfixturevalue('wtfs_password'), role='member', group_id=group_id )) session.add(User( realname='Optimo', username='******', password_hash=request.getfixturevalue('wtfs_password'), role='member' )) commit() return app
def create_feriennet_app(request, use_elasticsearch): app = create_app(app_class=FeriennetApp, request=request, use_elasticsearch=use_elasticsearch) app.configure_payment_providers( **{ 'payment_providers_enabled': True, 'payment_provider_defaults': { 'stripe_connect': { 'client_id': 'foo', 'client_secret': 'foo', 'oauth_gateway': 'https://oauth.example.org', 'oauth_gateway_auth': 'foo', 'oauth_gateway_secret': 'bar' } } }) session = app.session() org = create_new_organisation(app, name="Govikon", create_files=False) org.meta['reply_to'] = '*****@*****.**' org.meta['locales'] = 'de_CH' # usually we don't want to create the users directly, anywhere else you # *need* to go through the UserCollection. Here however, we can improve # the test speed by not hashing the password for every test. test_password = request.getfixturevalue('test_password') session.add( User(username='******', password_hash=test_password, role='admin')) session.add( User(username='******', password_hash=test_password, role='editor')) transaction.commit() session.close_all() return app
def agency_app(request): app = create_app(AgencyApp, request, use_smtp=True) org = create_new_organisation(app, name="Govikon") org.meta['reply_to'] = '*****@*****.**' org.meta['locales'] = 'de_CH' session = app.session() test_password = request.getfixturevalue('test_password') session.add( User(username='******', password_hash=test_password, role='admin')) session.add( User(username='******', password_hash=test_password, role='editor')) commit() session.close_all() yield app app.session_manager.dispose()